Dataset Tools for Metadata & Captioning

詳細

ファイルをダウンロード

モデル説明

データセットツール:AIメタデータビューア

Dependency review CodeQL Build Status


English Readme Wiki Discussions Notices License


Dataset Tools は、画像データセットの閲覧と管理を支援するデスクトップアプリケーションです。特に、AIアート生成ツール(Stable Diffusion WebUI Forge、A1111、ComfyUIなど)やモデルファイル(Safetensorsなど)で使用されるデータセットに最適化されています。Python と PyQt6 を使用して開発され、ファイルの閲覧、埋め込まれた生成パラメータの表示、関連メタデータの確認に直感的なグラフィカルインターフェースを提供します。

このプロジェクトは、AIアートコミュニティのツール(特に receyuki による stable-diffusion-prompt-reader)に感覚され、ユーザーがデータセットのキュレーションワークフローを改善できるようにすることを目的としています。コントリビューションを歓迎します!リポジトリをフォークし、プルリクエストを送ってください!


お問い合わせ & サポート


GitHub Discord Twitch Support us on Ko-fi


特徴

  • 軽量かつ高速: すぐに読み込み、効率的にメタデータを表示するよう設計されています。

  • クロスプラットフォーム: Python と PyQt6 で構築(Windows、macOS、Linux に対応)。

  • 包括的なメタデータ表示:

    • プロンプト情報(ポジティブ、ネガティブ、SDXL専用)を明確に表示。
    • 多様なAIツールからの詳細な生成パラメータを表示。
  • 直感的なファイル操作:

    • ドラッグ&ドロップ: 単一の画像ファイルまたはフォルダ全体を簡単に読み込みます。ドロップされたファイルは自動的に選択されます。
    • フォルダの閲覧とファイルリストのナビゲーション。
  • 画像プレビュー: 選択された画像のクリアでリスケーラブルなプレビューを表示。

  • メタデータのコピー: 解析されたメタデータをワンクリックでクリップボードにコピー。

  • テーマ対応UI: qt-materialを介してテーマをサポート(例:dark_pink、light_lightgreen_500)。

  • 高度なメタデータエンジン:

    • 完全に再構築されたパーサーシステム: 優先順位ベースの検出、堅牢なUnicode処理、包括的なフォーマットサポートを備えた新しいMetadataEngine。
    • ComfyUIの強化サポート: 高度なワークフローのトレーバーサル、ノード接続分析、モダンなカスタムノード(smZ CLIPTextEncodeなど)のサポート。
    • CivitAI統合: CivitAIのデュアルメタデータ形式を完全にサポートし、URNリソース抽出とワークフローパースを実現。
    • 頑強なUnicode処理: 総合的なフォールバックチェーンと堅牢なエンコーディング検出により、もじばけ問題を解消。
    • A1111フォーマットの復元: 改善された検出ルールでA1111 JPEGサポートを修正・強化。
    • インテリジェントフォールバックシステム: 専用パーサーがファイルを処理できない場合、システムは販売元のパーサーにスムーズにフォールバックし、最大互換性を確保。
    • 25以上の専用パーサー: 多様なAIツールおよびプラットフォーム向けの専用パーサーを用意し、継続的に拡張中。
    • モデルファイルサポート: メタデータ表示機能を強化(SafetensorsおよびGGUFサポートはまもなく登場!)。
  • 設定可能なログ: コマンドライン引数でアプリケーションログの詳細レベルを制御し、デバッグを簡素化。

既知の問題

  • Materialテーマの互換性: 統合された qt-material テーマは視覚的に魅力的ですが、すべてのPyQt6/Qt6要素と100%互換性があるわけではありません。アプリケーションは機能しますが、一部の小さな視覚的な不整合が生じる可能性があります。私たちは代替案を積極的に模索しており、近い将来Tkinterへの移行を計画しています。これにより、これらの互換性の課題を解決します。

  • 高度なパーサー: 高度なパースは現在75%ほど進んでいます。現在、ComfyUIで多くのT5スタイルモデルをパースするのが困難です。ComfyUIをご利用で、ワークフローや現在使用しているノードに関する情報を提供いただけると大変助かります。

  • Draw Things: XMPエクストラクターは動作している可能性がありますが、DrawThingsに関するデータが限定的であり、元の販売元コードが現在動作していないため、この機能がどのように動作しているかは不明です。

対応フォーマット

Dataset-Toolsは、多様なソースからのメタデータを読み取ることを目的としています。現在の対応状況:

AI画像メタデータ:

  • A1111 webUI / Forge: PNG(parametersチャンク)、JPEG/WEBP(UserComment)。

  • ComfyUI:

    • 標準PNG("prompt"チャンクに埋め込まれたワークフローモデルJSON)。
    • Civitai生成JPEG/PNG("extraMetadata"を含むUserComment JSON)。
    • 高度なComfyUIワークフロー: 多くのワークフローが対応していますが、一部の複雑またはカスタムワークフローはまだ完全にはパースされていない可能性があります。互換性の改善に努めています。未パースのワークフローの例を提供してください!
  • NovelAI: PNG(レガシー"Software"タグおよび"Comment" JSON;アルファチャンネル内のステルスLSB)。

  • Midjourney: 人気のルール!これは旧来のDiscord方式のゴールドスタンダード(しーっ、私は深夜1時にこれを作った)

  • InvokeAI: (現在リファクタリング中、このバージョンでは正しくパースされない可能性があります。次回の大規模更新で修正予定)

  • Easy Diffusion: PNG、JPEG、WEBP(埋め込みJSONメタデータ)。

  • Fooocus: PNG("Comment"チャンクJSON)、JPEG(JFIFコメントJSON)。

  • Midjourney: YAY

  • RuinedFooocus: JPEG(UserComment JSON)。

  • Draw Things: (現在リファクタリング中、このバージョンでは正しくパースされない可能性があります。次回の大規模更新で修正予定)

  • StableSwarmUI: PNG、JPEG(EXIFまたはPNG/UserComment内の"sui_image_params")。

  • (その他のフォーマットの対応も進行中。詳細はIssuesまたはDiscussionsをご覧ください。)

まもなく登場/一部対応のファイルタイプ

モデルファイルメタデータ(ヘッダー情報):

  • .safetensors

  • .gguf

その他のファイルタイプ:

  • .txt:内容を表示。
  • .json.toml:内容を表示(将来:構造化ビュー)。

インストール

インストールは簡単で、クロスプラットフォーム対応です。実行ファイルは存在しません。開発者がその動作を完全に把握できていない場合に後で問題が発生する可能性があるためです。現在、私たちは開発の真っ只中にあり、実行ファイルの提供は数ヶ月、あるいはほぼ1年後になる予定です。ただし、PYPIを超えたパッケージ管理システムへの対応は順調に進んでいます。次に取り組むのはBrew対応であり、WindowsおよびLinuxに対応したパッケージマネージャーも計画中です。

🚀 楽々インストール(推奨)

1コマンドで完了:

pip install kn-dataset-tools
dataset-tools

必要な環境: Python 3.10 以上

これだけで完了!ツールはAIメタデータを閲覧するためのGUIインターフェースで起動します。


📦 ソースからのインストール

最新の開発バージョンをご希望の場合は:

git clone https://github.com/Ktiseos-Nyx/Dataset-Tools.git
cd Dataset-Tools
pip install .
dataset-tools

🔧 高度なインストール(オプション)

開発者や分離された環境を好むユーザー向け:

詳細オプションを展開

仮想環境を使用:

# 仮想環境の作成
python -m venv dataset-tools-env

# 有効化
# Windows: dataset-tools-env\Scripts\activate
# macOS/Linux: source dataset-tools-env/bin/activate

# インストール
pip install kn-dataset-tools

uvを使用(最速):

uv pip install kn-dataset-tools

コントリビューター向け:

git clone https://github.com/Ktiseos-Nyx/Dataset-Tools.git
cd Dataset-Tools
pip install -e .  # 開発用の編集可能インストール

🆚 SD Prompt Readerとの比較

基本的なプロンプト表示に焦点を当てるSD Prompt Readerとは異なり、Dataset Toolsは以下の機能を提供:

  • 高度なComfyUIワークフロー分析
  • LoRAトレーニングメタデータ抽出
  • 25以上の専用AIフォーマットパーサー
  • モデルファイル対応(SafeTensors、GGUF)
  • 包括的なメタデータエンジン

どちらのツールも素晴らしいです! 自分のワークフローに合った方をお選びください。

使用方法

アプリケーションの起動

    python dataset_tools

インストール後、ターミナルからアプリケーションを実行:

   dataset-tools

高度なコマンドラインオプション

 python -m dataset_tools.main [options]

ヒント

    --log-level LEVEL: ログの詳細レベルを設定。

選択肢:DEBUG, INFO(デフォルト), WARNING, ERROR, CRITICAL。短縮形:d, i, w, e, c(大文字・小文字を問わず)。

   例:python -m dataset_tools.main --log-level DEBUG

GUI操作

ファイルの読み込み:

  1. 「Open Folder」ボタンをクリックするか、File > Change Folder... メニューを選択。
  2. ドラッグ&ドロップ: 単一の画像/モデルファイルまたはフォルダ全体をアプリケーションウィンドウに直接ドラッグしてドロップ。
  3. 単一のファイルをドロップした場合、その親フォルダが読み込まれ、ファイルはリスト内で自動的に選択されます。
  4. フォルダをドロップした場合、そのフォルダが読み込まれます。

ナビゲーション:

  1. 左側のパネルにあるファイルリストからファイルを選択して詳細を表示。

    • 画像プレビュー: 選択された画像は右側のプレビュー領域に表示されます。画像でないファイルまたはプレビューできないファイルには「プレビューが利用できません」と表示されます。
    • メタデータ表示: 解析されたプロンプト(ポジティブ、ネガティブ)、生成パラメータ(ステップ、サンプラー、CFG、シードなど)、その他の関連メタデータが画像プレビューの下または横のテキスト領域に表示されます。Prompt InfoとGeneration Infoのセクションタイトルは検出された内容に応じて更新されます。
    • メタデータのコピー: 「Copy Metadata」ボタンを使用して、現在表示されている解析されたメタデータ(テキスト領域から)をシステムのクリップボードにコピー。
    • ファイルリスト操作: ファイルの並べ替え:「Sort Files」ボタンをクリックして、ファイルリストをタイプ別(画像→テキスト→モデル)にアルファベット順に並べ替え。
    • 設定とテーマ: 「Settings...」ボタン(下部)またはView > Themesメニューから、アプリケーション設定(表示テーマ、ウィンドウサイズの好みなど)にアクセスして、すぐにテーマを変更。

テーマ

現在、このアプリにはPYQT6ブランチ専用で、QSS形式の多数の恐ろしく、目を引く、目を壊す、Memeにふさわしいテーマが用意されています。今後の開発では、同様のフォーマットでTkinterテーマを追加する予定です。このアプリの主要な開発者はQSSがまったく理解できず、単に良いテーマと悪いテーマを提供したかっただけです。これらのテーマは、QSS Themes でご自身で使用できます。テーマフォルダに独自のQSSスタイルシートを配置しても問題ありません。私たちの狂気は不要ですし、感謝する必要もありません。はい、テーマ情報用の免責事項ファイルがありますが、それらに含まれる名前、ブランド、概念は私たちが所有しているわけではありません。意図的に不快な内容にしているわけでもありません。信頼してください、「Mother Would Love」のようなテーマを使っても誰もあなたを責めませんよ。あなたは本当に使いたいはずです。

また、以下のようなインポートテーマを使用しています:

今後の開発ロードマップ

コア機能:

  • モデルファイルのサポート: Safetensors および GGUF のメタデータ表示・編集機能を完全実装。

  • フルメタデータ編集: 画像メタデータの高度な編集と保存機能。

  • プラグインアーキテクチャ: カスタムパーサーおよび機能を簡単に追加できる拡張可能なプラグインシステム。

  • 一括操作: フォルダーからメタデータをエクスポート、メタデータに基づいてファイル名を変更、一括処理。

  • 高度な検索とフィルタリング: メタデータの内容やパラメータに基づくデータセットの検索とフィルタリング。

ユーザー体験:

  • UI/UXの改善: プロンプト表示の向上、構文ハイライト対応の優れたテキストファイル閲覧機能。(クロスプラットフォーム互換性とUIの一貫性向上のため、Tkinterへの移行を予定。)

  • テーマシステムの拡張: 追加のテーマとカスタマイズオプション。

  • キーボードショートカット: パワーユーザー向けの包括的なホットキー対応。

プラットフォームと統合:

  • スタンドアロン実行ファイル: Windows、macOS、Linux 用のネイティブビルド。

  • PyPI配布: pip install dataset-tools で簡単にインストール可能な公式パッケージ配布。

  • CivitAI API 統合: モデルおよびリソースの直接検索機能。

  • クロスプラットフォーム互換性: さまざまなオペレーティングシステムへの対応強化。

技術的改善:

  • 包括的なテストスイート: 安定性の保証とリグレッションの防止のための自動テスト。

  • フォーマットサポートの強化: 追加のAIツールフォーマットおよびメタデータ標準。

  • パフォーマンス最適化: 大規模データセットの読み込みおよび処理速度の向上。

  • エラーハンドリング: エラー報告および回復メカニズムの改善。

エコシステム統合:

  • データセット管理ツール: HuggingFace、モデルダウンローダー、変換ユーティリティとの統合。

  • ワークフロー統合: AI生成ワークフローおよびパイプライン管理のサポート。

  • コミュニティ機能: パーサーの共有、フォーマットの貢献システム。

コントリビュートについて

ご貢献を歓迎します!バグ報告、機能リクエスト、ドキュメント改善、コード貢献など、ぜひご参加ください。

  • イシュー: 既存のバグやアイデアについては、イシューのタブをご確認ください。ご希望のイシューが見つからない場合は、明確な説明と再現手順(バグの場合は)とともに新しいイシューを開いてください。

  • プルリクエスト: リポジトリをフォークしてください。新機能またはバグ修正用に新しいブランチを作成してください(git checkout -b feature/your-feature-name または bugfix/issue-number)。変更を加え、明確で記述的なコミットメッセージでコミットしてください。ブランチをあなたのフォークにプッシュしてください(git push origin feature/your-feature-name)。Ktiseos-Nyx/Dataset-Tools リポジトリのメインブランチにプルリクエストを送信してください。プルリクエストには、変更内容の明確な説明を記載してください。

ライセンス

このプロジェクトは、GNU GENERAL PUBLIC LICENSE GPL 3.0 の条項に基づいてライセンスされています。完全なライセンス文については、リポジトリのルートにある LICENSE ファイルをご参照ください。

謝辞

  • コアパースロジックおよびインスピレーション: 本プロジェクトは、receyuki による Stable Diffusion Prompt Reader のパース機能を採用・大幅に改造しています。この基盤的な作業に心より感謝申し上げます。元リポジトリ: stable-diffusion-prompt-reader このベンダードコードの元のMITライセンスは、NOTICE.md ファイルに含まれています。

  • UIテーマ: 美しいPyQtテーマは、DunderLab による qt-material、GTRONICK - GTRONICKS、および UNREAL STYLE SHEET 制作者 UNREAL STYLESHEET によって実現されています。

  • 必須ライブラリ: 本プロジェクトは、Pillow, PyQt6piexifpyexiv2tomlPydanticRich などの優れたオープンソースPythonライブラリに依存しています。各ライブラリのライセンスが適用されます。

  • 持続的なサポートとモチベーションを提供してくださった Anzhc に感謝します。

  • 同僚および広範なAI・オープンソースコミュニティの継続的なサポートとインスピレーションに感謝します。

  • 開発中にコード生成、ドキュメント作成、問題解決を支援してくれたAI言語モデル(Google、OpenAI、Anthropicなど)に感謝します。

  • その他多数の方々に感謝します!


私たちを支援してください

Dataset Tools が役に立った場合は、製作者たちを支援していただけると幸いです!

Join us on Discord Support us on Ko-fi Follow us on Twitch

このモデルで生成された画像

画像が見つかりません。