text: import os
  import sqlite3
  
  
  def load_tags(tags_path):
      with open(tags_path, 'r') as tags_stream:
          tags = [tag for tag in (tag.strip() for tag in tags_stream) if tag]
          return tags
  
  
  def load_image_records(sqlite_path, minimum_tag_count):
      if not os.path.exists(sqlite_path):
          raise Exception(f'SQLite database is not exists : {sqlite_path}')
  
      connection = sqlite3.connect(sqlite_path)
      connection.row_factory = sqlite3.Row
      cursor = connection.cursor()
  
      image_folder_path = os.path.join(os.path.dirname(sqlite_path), 'images')
  
      cursor.execute(
          "SELECT md5, file_ext, tag_string FROM posts WHERE (file_ext = 'png' OR file_ext = 'jpg' OR file_ext = 'jpeg') AND (tag_count_general >= ?) ORDER BY id",
          (minimum_tag_count,))
  
      rows = cursor.fetchall()
  
      image_records = []
  
      for row in rows:
          md5 = row['md5']
          extension = row['file_ext']
          image_path = os.path.join(
              image_folder_path, md5[0:2], f'{md5}.{extension}')
          tag_string = row['tag_string']
  
          image_records.append((image_path, tag_string))
  
      connection.close()
  
      return image_records
  