Adament Cabin

  • コンピューター
    • アルゴリズム
    • Linux
    • Problems
    • AI
  • 日本語を勉強
  • ACG
    • 見られている番組
    • ゲーム
  • 日常
  • 雑貨
    • ドキュメント
    • 資源
    • 治療センター
  • リンク
  • ブランチサイト
  • Japanese
    • Chinese
Adament Cabin
恋厨症候群第二治療センター
  1. 首页
  2. コンピューター
  3. AI
  4. 正文

Katago 自己学習型生成モデル

2023年5月2日 2095ヒート 0お気に入り 0コメント

世界最古のボードゲームのひとつで、人類は頂点を極めた。 しかし今、人工知能によって、私たちは人類の限界に挑戦している。

新興の囲碁AIとして、Katagoはすでに囲碁の分野で多くの注目と議論を集めている。 ディープラーニング技術とモンテカルロ木探索を組み合わせることで、Katagoは囲碁対局において前例のない高水準のパフォーマンスを示し、場合によってはAlphaGoを凌ぐことさえある。さらに、Katagoのオープンソースコードは多くの囲碁愛好家や開発者の関心を集め、彼らはKatagoを使って対局し、自らを向上させることで、Katagoのゲーム性をさらに高めている。 ゲームプレイ。

Katagoは、David Wuと彼のチームによって開発されたオープンソースの囲碁AIです。 畳み込みニューラルネットワークやモンテカルロ木探索を含むディープラーニング技術を使用し、囲碁の最先端レベルで人間を打ち負かす。Katagoのアルゴリズムとコードは一般に公開されており、囲碁の指導、トーナメント、研究に広く使用されている。 Katagoのアルゴリズムとコードは公開されており、囲碁の教育やトーナメント、研究において広く使用されています。自己再生と強化学習を使用することで、Katagoはそのゲームを改善し、強化し続けており、非常に有望なAIプロジェクトとなっています。

最近、私はKatagomoを使ってトレーニングし、新しい囲碁AIモデルを作ることに成功しました。 このブログポストでは、私の経験とプロセス、そしてKatagoを使用する際の基礎知識とヒントを紹介します。

なんとか模型はできたものの、まだまだミスが多いかもしれない。 なぜなら、私はまだ学習者だからだ。 もしこの記事に間違いを見つけたら、コメント欄で指摘してほしい。 ご理解ありがとうございました!

Katago-Github:https://github.com/lightvector/KataGo

Katagomo-Github:https://github.com/hzyhhzy/KataGo

Compiling.md:https://github.com/lightvector/KataGo/blob/master/Compiling.md

SelfplayTraining.md:https://github.com/lightvector/KataGo/blob/master/SelfplayTraining.md

CMake Download:https://cmake.org/download/

Cuda Download:https://developer.nvidia.com/cuda

Cudnn Download:https://developer.nvidia.com/cudnn

Kata1 NetWork:https://katagotraining.org/networks/

AIモデルを作成するには、まずコンピュータ上でコンパイルする必要がある。 Katagoのコンパイルに関するドキュメントはこちら:Compiling.md。

私のコンピューターではUbuntu / GPU (CUDA)を使用しています。 次に、私が行ったことを再現します。これはどのLinuxでも動作しますが、macOSで動作するかどうかはわかりません。

Ubuntuのソースに含まれているCmakeのバージョンは低すぎるので、Cmakeのウェブサイトに行く必要があります。Cmakeパッケージをダウンロード. その後、任意のディレクトリに解凍することができます。 コンパイルせずに直接使うこともできます。 PATHに追加する必要がある場合は、bashの設定ファイル(Bashの場合は~/.bashrc、Zshの場合は~/.zshrc)の最後に追加してください:

export PATH=$PATH:(Your Path)/cmake-3.26.0-linux-x86_64/bin

インストール後、cmake --versionと入力し、Cmakeのバージョン番号が返ってくれば、インストールは成功です。

次に、Compiling.mdに記載されている手順で、C++のバージョンと各BackEndの要件を確認してください。

すべての準備が整ったら、作業ディレクトリに移動してください。

git clone https://github.com/lightvector/KataGo.git

クローン後、cppフォルダに移動し、コンパイルするBackEndに合わせてCmakeする。

cmake . -DUSE_BACKEND=CUDA

もしここでlibzipがないというエラーが出たら、まずlibzipをインストールしてください。

問題がなければ同じディレクトリで実行する

make

コンパイルが成功するまで待つ。ディレクトリに実行ファイルkatagoが見つかれば成功だ。

./katago version

おめでとう、Katagoのコンパイルが完了した!

SelfPlayを始める前にお読みくださいSelfPlayTraining.md。このガイドは、自分自身を訓練し、改造を生成する方法を示すことができます。

Python3とTensorflowがまず必要なので、SelfPlayの前にインストールしておこう。

次にSelfPlay.cfgを用意してください。これはKatagoのSelfPlay時の設定ファイルです。 この設定ファイルでは、ボードの重み、CPU使用率、GPU使用率など、トレーニングに必要な設定を行うことができる。 うまく設定することで、より効率的にトレーニングを行うことができる。

SelfPlayTraining.mdによると、SelfPlay Shuffler Training ExporterとGateKeeperの5つのプロセスが同時に機能する必要がある。

私のプロセスでは最初の4つしか使っていない:

Selfplay engine (C++ - cpp/katago selfplay) - continuously plays games using the latest neural net in some directory of accepted models, writing the data to some directory.

Shuffler (python - python/shuffle.py) - scans directories of data from selfplay and shuffles it to produce TFRecord files to write to some directory.

Training (python - python/train.py) - continuously trains a neural net using TFRecord files from some directory, saving models periodically to some directory.

Exporter (python - python/export_model.py) - scans a directory of saved models and converts from Tensorflow's format to the format that all the C++ uses, exporting to some directory.

この4人を走らせる準備をしろ!

まず、SelfTraining.mdにあるコマンドの詳しい説明を読んでください。 (shuffle.shとexport_model_for_selfplay.shについては、正式にはShuffle_and_Export_loop.shにまとめられているため、SelfTraining.mdには情報がありません)

最初の命令はcppファイルの下にあり、残りはscriptsフォルダの下にある。

./katago selfplay -config ./work/config_files/selfplay1.cfg  -models-dir ./work/output/acceptedmodels -output-dir ./selfplay

./shuffle.sh ../ ./TempDir 10 256 -keep-target-rows 10000 -min-rows 100

./train.sh ../ kataAda b6c96 256 main -lr-scale 1.0

./export_model_for_selfplay.sh kataAda ../ 0

私のファイル構成はこうだ:

Katago
├── cpp
│   ├── katago
│   └── selfplay
└── scripts
    ├── shuffle.sh
    ├── train.sh
    └── export_model_for_selfplay.sh

まず最初の3番目と4番目のコマンドを実行し、次に2番目のコマンドを手動で実行してSelfPlay配下のデータをスクラブする。 1番目と3番目のコマンドはデフォルトでターミナルに出力され、2番目のコマンドは手動で実行されターミナルに出力され、4番目のコマンドはバックグラウンドで実行され、手動で調整できる$basedirの下のログに出力される。

最初に実行されるコマンドは、n番目のゲームがプレーされていることを出力するはずだ。

番目のコマンドを実行したときに出力されるはずのものは、スクラブされたデータの量である。

3番目のコマンドは、実行時にトレーニングプロセスを出力する必要があります。

4番目のコマンドは、ターミナルに出力したい場合、.shファイルからログへの出力を削除する。

2番目のコマンドを続けたい場合は、shuffler_loop.shを使うことができる。このshはデフォルトではターミナルに出力されないが、ログへの出力を削除してshをターミナルに出力させることもできる。

正しい結果は、最初のプロセスがゲームをプレイし、2番目のプロセスがデータをスキャンしてスクラブし、3番目のプロセスがデータをトレーニングし、最後にmodelstobetestsがcppフォルダに見つかるというものだ。

実行後のフォルダ:

Katago
├── cpp
│   ├── katago
│   ├── models
│   ├── modelstobetest
│   ├── selfplay
│   └── shuffleddata
└── scripts
    ├── shuffle.sh
    ├── train.sh
    └── export_model_for_selfplay.sh

modelstobetestの中にmodel.bin.gzがあれば、モデル入手おめでとう!

その後、gatekeeperを使ってモデルをテストし、うまく機能するものをフィルタリングすることができる。

タグ: AI Katago
更新日:2023年5月6日

BiyiAdopac

社会ごみ

Like
< 前の投稿

コメント

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
キャンセル

カテゴリー
  • AI / 1篇
  • アルゴリズム / 5篇
  • Linux / 6篇
  • Problems / 3篇
  • 日常 / 1篇
  • 日本語 / 2篇
  • ゲーム / 1篇
  • コンピューター / 14篇
  • ドキュメント / 4篇
タグ
ArchLinux LaTex Magisk Learning AI Physics C/C++/C# Arcaea
The World of Scarlet
https://www.adament.xyz/wp-content/uploads/2024/10/the-world-of-scarlet-Piano.mp3

COPYRIGHT © 2025 adament.xyz. ALL RIGHTS RESERVED.
このサイトにとって重要ではありませんが、それでも必要な プライバシーポリシー