0
2

Windowsで人工知能を開発するためのGPU仮想環境を最速で構築する。

Last updated at Posted at 2024-08-17

おはこんばんにちは。普段はnoteに生息しているので勝手がわからず困惑しています。
ファイル関係のインストールやダウンロードの待機時間で書いている炬燵記事なので、わかりやすさよりも備忘として残す意味合いを強めに最速で走ります。というか意外と調べても依存関係全部カバーしている記事がなくて苦戦を強いられたので一応書き残します。rapids?あれはカスです。てかコマンド全部忘れた。大体ディスコだっけ。普通にカスなのでマークダウンを覚えていない。

待機時間の暇つぶし用におすすめのネット小説を置いておきます。無職転生並みにアニメ化してほしかった。一番好きなキャラはエル・シドです。とてもエルの民とは思えないところがいい。

本題に移ります。以下のコードは基本的に作成した環境上でのコマンド入力を前提としています。決してphp2回も打つとかめんどくsとか思ったわけじゃないです。

#環境(2024年8月16日時点 ちょっと怪しいので確認中 2024年8月18日再現性確認)
コマンド違った
・Windows11 ブンツ22.04? WSL2 Python3.11 Anaconda3(minicondaでも可)
(この辺の環境構築はネットに充実しているので省きます。ggrksという意味の京言葉ではありません。関西ではあるけど。)
・えぬびでぃあドライバ 525.60.13以上
・CUDA 12.4
・cuDNN 8.9.7
・Tenserflow 2.17.0(TensorRTとの互換性はないので注意。正確性を優先します)
・pytoach 12.4を選択
・cuMLとcuDF

以下コマンドやリンク
ダウンロードしたものに関してはブンツのユーザーディレクトリにおいておけばいけます。できなかったらダウンロードディレクトリを左クリック→パスをコピーしてchatGPTに管理者権限でコマンド作って!っていうとできます。すごい時代だ。
確認は全部yです。信用できない場合は公式ドキュメントを読んで頭を痛めてください。

・ブンツ
コマンドプロンプトを管理者権限で開き以下のコマンドを打つ

sudo apt install wsl
wsl --install

これでブンツが使えるようになりました。適当にユザネとパスは設定してメモしといてください。めっちゃ使うので。古いパソコンの場合は知りません。課金してください。

・Anaconda3
事前準備です
作業用ディレクトリを作ります。基本的にここですべての作業を行います.

cd /home/ウブンツのユザネ/tmp
sudo apt update

エラーが出たらこうします

sudo apt update
sudo apt upgrade

いったんここでバックアップを取ります

sudo mv /usr/lib/wsl/lib/libcuda.so.1 /usr/lib/wsl/lib/libcuda.so.1.backup

取れたか確認をします。

 ls /usr/lib/wsl/lib/libcuda.so.*

backupという文字列が見えたら成功です。前半部分をコピペしてこうします。

sudo ln -s /usr/lib/wsl/lib/libcuda.so.1 /usr/lib/wsl/lib/libcuda.so.1
sudo ldconfig

次行きます。curlをインストールします。意味はググってください。

sudo apt install curl -y

以下のPython 3.12

64-Bit (x86) Installer (1007.9M)

からファイルをダウンロードします。

cp /mnt/c/Users/ウインドウズのユーザーファイルディレクトリ名/Downloads/Anaconda3-2024.06-1-Linux-x86_64.sh /home/ブンツのユザネ/tmp

ここで以下のコマンドを実行します。

sudo bash Anaconda3-2024.06-1-Linux-x86_64.sh -b -p /anaconda
PREFIX=/anaconda

環境をリフレッシュします。

export PATH=/anaconda/bin:$PATH
source ~/.bashrc

確認コマンドです。

/anaconda/bin/python --version
/anaconda/bin/conda --version

ここでPythonのバージョンが3.12と表示されますがひとまず無視します。
いったんここまでで現環境を保存します。(あんま使わない)

touch ~/.condarc
conda config --show > ~/.condarc

確認コマンドです

cat ~/.condarc
conda env list

ここでbaseがデフォルトで作成されていると思うので、condaコマンドを有効化して起動します。

conda init 
source ~/.bashrc

(base)となったら成功です。バックアップを取っておきます。

sudo mv /usr/lib/wsl/lib/libcuda.so.1 /usr/lib/wsl/lib/libcuda.so.1.backup

手動でWSL2をシャットダウンし環境を保存します。
ここでWindowsコマンドプロンプトを開きます。

wsl --shutdown

もう一度WSL2を開きます。デフォルトで(base)が起動するようになっていると思います。ここでAnacondaは終了です。

次に仮想環境の構築を行います。nameはrapidasu で行います。北海道のアレです。
tmpディレクトリに移動します。よく忘れます。

cd /home/ブンツのユザネ/tmp

めんどくせーエラーを事前に防ぐために魔法を使います。

conda config --remove-key default_threads
conda config --remove-key repodata_threads

rapidasuという名前の仮想環境を構築します。

conda create -n rapidasu python=3.11

(bese)と出たら成功です。次にアクティベートして確認します。

conda activate rapidasu

確認コマンド

python --version

Python 3.11.9と出たらOKです。
ここまでで再びバックアップを取っておきます。

sudo mv /usr/lib/wsl/lib/libcuda.so.1 /usr/lib/wsl/lib/libcuda.so.1.backup

・CUDA 12.1
リンクを開いていい感じに選びます。
CUDA Toolkit 12.1.0 (March 2024), Versioned Online Documentationです。

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
echo 'export PATH=/usr/local/cuda-12.1/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
nvcc --version

これはさすがに覚えてた。versionで12.1が出たら成功です。ハイ次

・cuDNN 8.9.7
対応するパッケージをダウンロード

間違えてディスコのリンクを貼っちゃって一瞬焦りました(ディスコを無限ストレージだと思っている)。

# cuDNNのローカルリポジトリをインストール
sudo dpkg -i cudnn-local-repo-ubuntu2204-8.9.7.29_1.0-1_amd64.deb

# GPGキーをコピー
sudo cp /var/cudnn-local-repo-ubuntu2204-8.9.7.29/cudnn-local-<key>-keyring.gpg /usr/share/keyrings/

# APTのリポジトリを更新
sudo apt-get update

sudo apt-get install -f

# cuDNN関連のパッケージをインストール
sudo apt-get install libcudnn8 libcudnn8-dev libcudnn8-samples

echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
dpkg -L libcudnn8

見つかったディレクトリを参考に手動でコマンドを打ち込む(以下コピペでもできるかもしれない)

sudo ln -sf /usr/lib/x86_64-linux-gnu/libcudnn.so.8.9.7 /usr/local/cuda/lib64/libcudnn.so.8
sudo ln -sf /usr/lib/x86_64-linux-gnu/libcudnn_adv_infer.so.8.9.7 /usr/local/cuda/lib64/libcudnn_adv_infer.so.8
sudo ln -sf /usr/lib/x86_64-linux-gnu/libcudnn_adv_train.so.8.9.7 /usr/local/cuda/lib64/libcudnn_adv_train.so.8
sudo ln -sf /usr/lib/x86_64-linux-gnu/libcudnn_cnn_infer.so.8.9.7 /usr/local/cuda/lib64/libcudnn_cnn_infer.so.8
sudo ln -sf /usr/lib/x86_64-linux-gnu/libcudnn_cnn_train.so.8.9.7 /usr/local/cuda/lib64/libcudnn_cnn_train.so.8
sudo ln -sf /usr/lib/x86_64-linux-gnu/libcudnn_ops_infer.so.8.9.7 /usr/local/cuda/lib64/libcudnn_ops_infer.so.8
sudo ln -sf /usr/lib/x86_64-linux-gnu/libcudnn_ops_train.so.8.9.7 /usr/local/cuda/lib64/libcudnn_ops_train.so.8
sudo ln -sf /usr/include/cudnn_version.h /usr/local/cuda/include/cudnn_version.h
sudo ln -sf /usr/include/cudnn.h /usr/local/cuda/include/cudnn.h
sudo ln -sf /usr/include/cudnn_backend.h /usr/local/cuda/include/cudnn_backend.h
sudo ln -sf /usr/include/cudnn_adv_infer.h /usr/local/cuda/include/cudnn_adv_infer.h
sudo ln -sf /usr/include/cudnn_adv_train.h /usr/local/cuda/include/cudnn_adv_train.h
sudo ln -sf /usr/include/cudnn_cnn_infer.h /usr/local/cuda/include/cudnn_cnn_infer.h
sudo ln -sf /usr/include/cudnn_cnn_train.h /usr/local/cuda/include/cudnn_cnn_train.h
sudo ln -sf /usr/include/cudnn_ops_infer.h /usr/local/cuda/include/cudnn_ops_infer.h
sudo ln -sf /usr/include/cudnn_ops_train.h /usr/local/cuda/include/cudnn_ops_train.h

確認コマンド

ls -l /usr/local/cuda/include/cudnn*

・Tenserflow 2.17.0

pip install tensorflow

これでエラーが出る場合はホイールファイルを使いますが、pipが壊れている可能性が高いので、再構築をお勧めします
(蛇足)
これで直った(一度寝ぼけて破壊した)
wget https://bootstrap.pypa.io/get-pip.py
/home/bakawan/.conda/envs/rapidasu/bin/python get-pip.py
戻ります。
ホイールファイルを使います。
以下サイトでCtrl+Fで「Python 3.11 GPU」と打って横のリンクのやつをダウンロードします。

実行コマンド

pip install tensorflow-2.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 

よっぽど大丈夫だと思いますが一応の確認コマンド

python -c "import tensorflow as tf; print('Num GPUs Available: ', len(tf.config.list_physical_devices('GPU')))"

Num GPUs Available: 1(以上)
と出たら認識しています。警告はガン無視でOKです。

・pytoach(12.1)
やべー書いていたら追いついてしまった。どうしよ。まあいいや。続けます。
以下サイト。linuxでもWindowsでもコマンド変わんなかったのでなんでもいいと思います。一応コマンドも載せておきます。

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

確認コマンドです。

python3 -c "import torch; print(torch.__version__)"

2.4.0とでたらおけ。
・cuMLとcuDF
conda search cudf --channel rapidsai
conda search cuml --channel rapidsai
これらのコマンドをrapidsaiの部分をconda-forge、nvidiaに変えるとエラーが出ます。
致し方なし。PyPI ミラーを使います。cupyを更新してから入れます。

pip uninstall cupy
pip install cupy-cuda12x
pip install --extra-index-url https://pypi.nvidia.com cudf-cu12 cuml-cu12

一応確認コマンド

conda list | grep -E 'cudf|cuml'

これでひとまず仮想環境の構築は終わりです。お疲れ様です。仮想環境の保存はこのようにします。

conda env export -n rapidasu > rapidasu_environment.yml

ここでは「rapidasu」という名前で仮想環境を保存しました。
因みに呼び出すときはこうです。

conda env create -f rapidasu_environment.yml

これで作成した環境を友達とかに渡すことができます。因みに中身はこんな感じです。余計なものもいろいろ入っています(後日追加したので)

name: rapidasu
channels:
  - rapidsai
  - defaults
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=2_gnu
  - absl-py=2.1.0=pyhd8ed1ab_0
  - astunparse=1.6.3=pyhd8ed1ab_0
  - aws-c-auth=0.7.25=hdfe1943_2
  - aws-c-cal=0.7.2=h87b94db_0
  - aws-c-common=0.9.23=h4ab18f5_0
  - aws-c-compression=0.2.18=he027950_7
  - aws-c-event-stream=0.4.2=h29f85be_19
  - aws-c-http=0.8.7=h45b8271_1
  - aws-c-io=0.14.18=h6ea103f_1
  - aws-c-mqtt=0.10.4=h7eb77b2_15
  - aws-c-s3=0.6.4=hd923058_5
  - aws-c-sdkutils=0.1.16=he027950_3
  - aws-checksums=0.1.18=he027950_7
  - aws-crt-cpp=0.27.5=hdd22b19_3
  - aws-sdk-cpp=1.11.379=h82708ae_1
  - azure-core-cpp=1.13.0=h935415a_0
  - azure-identity-cpp=1.8.0=hd126650_2
  - azure-storage-blobs-cpp=12.12.0=hd2e3451_0
  - azure-storage-common-cpp=12.7.0=h10ac4d7_1
  - azure-storage-files-datalake-cpp=12.11.0=h325d260_1
  - bokeh=3.5.1=pyhd8ed1ab_0
  - brotli-python=1.1.0=py311hb755f60_1
  - bzip2=1.0.8=h4bc722e_7
  - c-ares=1.32.3=h4bc722e_0
  - ca-certificates=2024.7.2=h06a4308_0
  - cached-property=1.5.2=hd8ed1ab_1
  - cached_property=1.5.2=pyha770c72_1
  - cachetools=5.4.0=pyhd8ed1ab_0
  - certifi=2024.7.4=py311h06a4308_0
  - cffi=1.17.0=py311ha8e6434_0
  - charset-normalizer=3.3.2=pyhd8ed1ab_0
  - click=8.1.7=unix_pyh707e725_0
  - cloudpickle=3.0.0=pyhd8ed1ab_0
  - contourpy=1.2.1=py311h9547e67_0
  - cuda-cccl_linux-64=12.5.39=ha770c72_0
  - cuda-crt-dev_linux-64=12.5.82=ha770c72_0
  - cuda-crt-tools=12.5.82=ha770c72_0
  - cuda-cudart=12.5.82=he02047a_0
  - cuda-cudart-dev=12.5.82=he02047a_0
  - cuda-cudart-dev_linux-64=12.5.82=h85509e4_0
  - cuda-cudart-static=12.5.82=he02047a_0
  - cuda-cudart-static_linux-64=12.5.82=h85509e4_0
  - cuda-cudart_linux-64=12.5.82=h85509e4_0
  - cuda-nvcc-dev_linux-64=12.5.82=ha770c72_0
  - cuda-nvcc-impl=12.5.82=hd3aeb46_0
  - cuda-nvcc-tools=12.5.82=hd3aeb46_0
  - cuda-nvrtc=12.5.82=he02047a_0
  - cuda-nvtx=12.5.82=he02047a_0
  - cuda-nvvm-dev_linux-64=12.5.82=ha770c72_0
  - cuda-nvvm-impl=12.5.82=h59595ed_0
  - cuda-nvvm-tools=12.5.82=h59595ed_0
  - cuda-profiler-api=12.5.39=ha770c72_0
  - cuda-python=12.6.0=py311h817de4b_0
  - cuda-version=12.5=hd4f0392_3
  - cudf=24.08.01=cuda12_py311_240807_gc5ae8200e7_0
  - cudnn=8.9.7.29=h092f7fd_3
  - cuml=24.08.00=cuda12_py311_240808_gb17f2dbbe_0
  - cupy=13.2.0=py311he5a987b_1
  - cupy-core=13.2.0=py311h3bdf873_1
  - cytoolz=0.12.3=py311h459d7ec_0
  - dask=2024.7.1=pyhd8ed1ab_0
  - dask-core=2024.7.1=pyhd8ed1ab_0
  - dask-cuda=24.08.02=py311_240807_gdda3243_0
  - dask-cudf=24.08.01=cuda12_py311_240807_gc5ae8200e7_0
  - dask-expr=1.1.9=pyhd8ed1ab_0
  - distributed=2024.7.1=pyhd8ed1ab_0
  - distributed-ucxx=0.39.01=py3.11_240807_g19a66b4_0
  - dlpack=0.8=h59595ed_3
  - fastrlock=0.8.2=py311hb755f60_2
  - flatbuffers=24.3.25=h59595ed_0
  - fmt=10.2.1=h00ab1b0_0
  - freetype=2.12.1=h267a509_2
  - fsspec=2024.6.1=pyhff2d567_0
  - gast=0.5.5=pyhd8ed1ab_0
  - gflags=2.2.2=he1b5a44_1004
  - giflib=5.2.2=hd590300_0
  - glog=0.7.1=hbabe93e_0
  - google-pasta=0.2.0=pyhd8ed1ab_1
  - grpcio=1.62.2=py311ha6695c7_0
  - h2=4.1.0=pyhd8ed1ab_0
  - h5py=3.11.0=nompi_py311h439e445_102
  - hdf5=1.14.3=nompi_hdf9ad27_105
  - hpack=4.0.0=pyh9f0ad1d_0
  - hyperframe=6.0.1=pyhd8ed1ab_0
  - icu=75.1=he02047a_0
  - idna=3.7=pyhd8ed1ab_0
  - importlib-metadata=8.2.0=pyha770c72_0
  - importlib_metadata=8.2.0=hd8ed1ab_0
  - jinja2=3.1.4=pyhd8ed1ab_0
  - joblib=1.4.2=pyhd8ed1ab_0
  - keyutils=1.6.1=h166bdaf_0
  - krb5=1.21.3=h659f571_0
  - lcms2=2.16=hb7c19ff_0
  - ld_impl_linux-64=2.40=hf3520f5_7
  - lerc=4.0.0=h27087fc_0
  - libabseil=20240116.2=cxx17_he02047a_1
  - libaec=1.1.3=h59595ed_0
  - libarrow=16.1.0=h1aed627_18_cpu
  - libarrow-acero=16.1.0=he02047a_18_cpu
  - libarrow-dataset=16.1.0=he02047a_18_cpu
  - libarrow-substrait=16.1.0=hc9a23c6_18_cpu
  - libblas=3.9.0=23_linux64_openblas
  - libbrotlicommon=1.1.0=hd590300_1
  - libbrotlidec=1.1.0=hd590300_1
  - libbrotlienc=1.1.0=hd590300_1
  - libcblas=3.9.0=23_linux64_openblas
  - libcrc32c=1.1.2=h9c3ff4c_0
  - libcublas=12.5.3.2=he02047a_0
  - libcublas-dev=12.5.3.2=he02047a_0
  - libcudf=24.08.01=cuda12_240807_gc5ae8200e7_0
  - libcufft=11.2.3.61=he02047a_0
  - libcufile=1.10.1.7=he02047a_0
  - libcufile-dev=1.10.1.7=he02047a_0
  - libcuml=24.08.00=cuda12_240808_gb17f2dbbe_0
  - libcumlprims=24.08.00=cuda12_240808_g172c6cb_0
  - libcurand=10.3.6.82=he02047a_0
  - libcurand-dev=10.3.6.82=he02047a_0
  - libcurl=8.9.1=hdb1bdb2_0
  - libcusolver=11.6.3.83=he02047a_0
  - libcusolver-dev=11.6.3.83=he02047a_0
  - libcusparse=12.5.1.3=he02047a_0
  - libcusparse-dev=12.5.1.3=he02047a_0
  - libdeflate=1.21=h4bc722e_0
  - libedit=3.1.20191231=he28a2e2_2
  - libev=4.33=hd590300_2
  - libevent=2.1.12=hf998b51_1
  - libexpat=2.6.2=h59595ed_0
  - libffi=3.4.2=h7f98852_5
  - libgcc-ng=14.1.0=h77fa898_0
  - libgfortran-ng=14.1.0=h69a702a_0
  - libgfortran5=14.1.0=hc5f4f2c_0
  - libgomp=14.1.0=h77fa898_0
  - libgoogle-cloud=2.26.0=h26d7fe4_0
  - libgoogle-cloud-storage=2.26.0=ha262f82_0
  - libgrpc=1.62.2=h15f2491_0
  - libiconv=1.17=hd590300_2
  - libjpeg-turbo=3.0.0=hd590300_1
  - libkvikio=24.08.02=cuda12_240807_g6b80a5c_0
  - liblapack=3.9.0=23_linux64_openblas
  - libllvm14=14.0.6=hcd5def8_4
  - libnghttp2=1.58.0=h47da74e_1
  - libnl=3.10.0=h4bc722e_0
  - libnsl=2.0.1=hd590300_0
  - libnvjitlink=12.5.82=he02047a_0
  - libopenblas=0.3.27=pthreads_hac2b453_1
  - libparquet=16.1.0=h9e5060d_18_cpu
  - libpng=1.6.43=h2797004_0
  - libprotobuf=4.25.3=h08a7969_0
  - libraft=24.08.01=cuda12_240807_g185da16b_0
  - libraft-headers=24.08.01=cuda12_240807_g185da16b_0
  - libraft-headers-only=24.08.01=cuda12_240807_g185da16b_0
  - libre2-11=2023.09.01=h5a48ba9_2
  - librmm=24.08.02=cuda12_240807_g5aa8ebe6_0
  - libsqlite=3.46.0=hde9e2c9_0
  - libssh2=1.11.0=h0841786_0
  - libstdcxx-ng=14.1.0=hc0a3c3a_0
  - libta-lib=0.4.0=hd590300_2
  - libthrift=0.19.0=hb90f79a_1
  - libtiff=4.6.0=h46a8edc_4
  - libucxx=0.39.01=cuda12_240807_g19a66b4_0
  - libutf8proc=2.8.0=h166bdaf_0
  - libuuid=2.38.1=h0b41bf4_0
  - libwebp-base=1.4.0=hd590300_0
  - libxcb=1.16=hd590300_0
  - libxcrypt=4.4.36=hd590300_1
  - libxml2=2.12.7=he7c6b58_4
  - libzlib=1.3.1=h4ab18f5_1
  - llvmlite=0.43.0=py311hbde99c3_0
  - locket=1.0.0=pyhd8ed1ab_0
  - lz4=4.3.3=py311h38e4bf4_0
  - lz4-c=1.9.4=hcb278e6_0
  - markdown=3.6=pyhd8ed1ab_0
  - markdown-it-py=3.0.0=pyhd8ed1ab_0
  - markupsafe=2.1.5=py311h459d7ec_0
  - mdurl=0.1.2=pyhd8ed1ab_0
  - msgpack-python=1.0.8=py311h52f7536_0
  - namex=0.0.8=pyhd8ed1ab_0
  - nccl=2.22.3.1=hbc370b7_1
  - ncurses=6.5=h59595ed_0
  - numba=0.60.0=py311h4bc866e_0
  - numpy=1.26.4=py311h64a7726_0
  - nvcomp=3.0.6=h10b603f_0
  - nvtx=0.2.10=py311h459d7ec_0
  - openjpeg=2.5.2=h488ebb8_0
  - openssl=3.3.1=h4bc722e_2
  - opt_einsum=3.3.0=pyhc1e730c_2
  - optree=0.12.1=py311hcddfd71_0
  - orc=2.0.1=h17fec99_1
  - packaging=24.1=pyhd8ed1ab_0
  - pandas=2.2.2=py311h14de704_1
  - partd=1.4.2=pyhd8ed1ab_0
  - pillow=10.4.0=py311h82a398c_0
  - pip=24.2=pyhd8ed1ab_0
  - protobuf=4.25.3=py311h7b78aeb_0
  - psutil=6.0.0=py311h331c9d8_0
  - pthread-stubs=0.4=h36c2ea0_1001
  - pyarrow=16.1.0=py311hbd00459_5
  - pyarrow-core=16.1.0=py311h9460f28_5_cpu
  - pyarrow-hotfix=0.6=pyhd8ed1ab_0
  - pycparser=2.22=pyhd8ed1ab_0
  - pygments=2.18.0=pyhd8ed1ab_0
  - pylibraft=24.08.01=cuda12_py311_240807_g185da16b_0
  - pynvjitlink=0.3.0=py311hd269673_0
  - pynvml=11.4.1=pyhd8ed1ab_0
  - pysocks=1.7.1=pyha2e5f31_6
  - python=3.11.9=hb806964_0_cpython
  - python-dateutil=2.9.0=pyhd8ed1ab_0
  - python-flatbuffers=24.3.25=pyh59ac667_0
  - python-tzdata=2024.1=pyhd8ed1ab_0
  - python_abi=3.11=4_cp311
  - pytz=2024.1=pyhd8ed1ab_0
  - pyyaml=6.0.2=py311h61187de_0
  - raft-dask=24.08.01=cuda12_py311_240807_g185da16b_0
  - rapids-dask-dependency=24.08.00=py_0
  - rdma-core=53.0=he02047a_0
  - re2=2023.09.01=h7f4b329_2
  - readline=8.2=h8228510_1
  - requests=2.32.3=pyhd8ed1ab_0
  - rich=13.7.1=pyhd8ed1ab_0
  - rmm=24.08.02=cuda12_py311_240807_g5aa8ebe6_0
  - s2n=1.4.19=h3400bea_0
  - scipy=1.14.0=py311h517d4fd_1
  - setuptools=72.1.0=pyhd8ed1ab_0
  - six=1.16.0=pyh6c4a22f_0
  - snappy=1.2.1=ha2e4443_0
  - sortedcontainers=2.4.0=pyhd8ed1ab_0
  - spdlog=1.12.0=hd2e6256_2
  - ta-lib=0.4.32=py311h7c22f60_0
  - tblib=3.0.0=pyhd8ed1ab_0
  - tensorboard-data-server=0.7.0=py311h63ff55d_1
  - tensorflow-estimator=2.17.0=cuda120py311h0c188d0_0
  - termcolor=2.4.0=pyhd8ed1ab_0
  - tk=8.6.13=noxft_h4845f30_101
  - toolz=0.12.1=pyhd8ed1ab_0
  - tornado=6.4.1=py311h331c9d8_0
  - treelite=4.3.0=py311he8f9275_0
  - typing-extensions=4.12.2=hd8ed1ab_0
  - typing_extensions=4.12.2=pyha770c72_0
  - tzdata=2024a=h0c530f3_0
  - ucx=1.15.0=hda83522_8
  - ucx-py=0.39.02=py311_240807_g314778e_0
  - ucxx=0.39.01=cuda12_py3.11_240807_g19a66b4_0
  - urllib3=2.2.2=pyhd8ed1ab_1
  - werkzeug=3.0.3=pyhd8ed1ab_0
  - wheel=0.44.0=pyhd8ed1ab_0
  - xorg-libxau=1.0.11=hd590300_0
  - xorg-libxdmcp=1.1.3=h7f98852_0
  - xyzservices=2024.6.0=pyhd8ed1ab_0
  - xz=5.2.6=h166bdaf_0
  - yaml=0.2.5=h7f98852_2
  - zict=3.0.0=pyhd8ed1ab_0
  - zipp=3.19.2=pyhd8ed1ab_0
  - zstandard=0.23.0=py311h5cd10c7_0
  - zstd=1.5.6=ha6fb4c9_0
  - pip:
      - beautifulsoup4==4.12.3
      - cycler==0.12.1
      - deap==1.4.1
      - filelock==3.15.4
      - fonttools==4.53.1
      - frozendict==2.4.4
      - google-auth==2.33.0
      - google-auth-oauthlib==1.2.1
      - graphsurgeon==0.4.6
      - html5lib==1.1
      - jpholiday==0.1.10
      - keras==3.4.1
      - kiwisolver==1.4.5
      - libclang==18.1.1
      - lxml==5.3.0
      - matplotlib==3.9.1.post1
      - missingno==0.5.2
      - ml-dtypes==0.3.2
      - mpmath==1.3.0
      - multitasking==0.0.11
      - networkx==3.3
      - nvidia-cublas-cu12==12.1.3.1
      - nvidia-cuda-cupti-cu12==12.1.105
      - nvidia-cuda-nvrtc-cu12==12.1.105
      - nvidia-cuda-runtime-cu12==12.1.105
      - nvidia-cudnn-cu12==9.1.0.70
      - nvidia-cufft-cu12==11.0.2.54
      - nvidia-curand-cu12==10.3.2.106
      - nvidia-cusolver-cu12==11.4.5.107
      - nvidia-cusparse-cu12==12.1.0.106
      - nvidia-nccl-cu12==2.20.5
      - nvidia-nvjitlink-cu12==12.6.20
      - nvidia-nvtx-cu12==12.1.105
      - oauthlib==3.2.2
      - peewee==3.17.6
      - platformdirs==4.2.2
      - pyaml==24.7.0
      - pyasn1==0.6.0
      - pyasn1-modules==0.4.0
      - pyparsing==3.1.2
      - pywavelets==1.6.0
      - requests-oauthlib==2.0.0
      - rsa==4.9
      - scikit-learn==1.5.1
      - scikit-optimize==0.10.2
      - seaborn==0.13.2
      - soupsieve==2.5
      - stopit==1.1.2
      - sympy==1.13.2
      - tensorboard==2.17.0
      - tensorflow==2.17.0
      - tensorflow-io-gcs-filesystem==0.37.1
      - tensorrt==10.3.0
      - tensorrt-cu12==10.3.0
      - tensorrt-cu12-bindings==10.3.0
      - tensorrt-cu12-libs==10.3.0
      - tensorrt-dispatch==8.6.1
      - threadpoolctl==3.5.0
      - torch==2.4.0+cu121
      - torchaudio==2.4.0+cu121
      - torchvision==0.19.0+cu121
      - tpot==0.12.2
      - tqdm==4.66.5
      - triton==3.0.0
      - uff==0.6.9
      - update-checker==0.18.0
      - webencodings==0.5.1
      - wrapt==1.14.1
      - xgboost==2.1.1
      - yfinance==0.2.41

最後にここまで読んでもできなかった人向けにyml.を置いておきます。ウイルストカハイッテナイヨ。
インターネットから謎のファイルをダウンロードするときは気をつけましょうね。僕もついこの前これ便利やなーと眺めていたものにバックドア見つけたりしたので(怖い話)
中身は先ほどのものと同じはずです。まあ一応確認してから使ってください。

pip install --upgrade pip setuptools

以上です。なんか面白そうな記事とか論文があったらコメントで教えてください。(あんまりキータ見ないけど)
ではまた。

以下本気の備忘

pip3 install missingno scikit-learn yfinance keras scikit-optimize jpholiday pywavelets matplotlib seaborn scipy tensorflow tpot
conda config --add channels conda-forge
conda install ta-lib
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2