bouの備忘録

アラサーの備忘録。ぽれぽれ更新していきます。

GPU利用を前提としたPytorchをインストールする(Anaconda未使用)

結論から言うと、

PyPIが対応しているPythonをインストール

②Pytorchがサポートしている最新版のCUDAをインストール

③そのCUDAに合わせたcuDNNをインストール&パスを通す

④Pytorchをインストール

⑤PytorchがGPUを認識しているか確認

の順番が最短だったと思われる。

以下、私の手順(2日間の激闘)の備忘録である。

 

1,Visual Studioのインストール

 

2,cmdを使ってpythonのインストール

→cmdでpython -Vと入力し、バージョンが出れば成功

 

3,cmdでpipでパッケージインストール

→cmdでpip freezeと入力し、リストにパッケージが出れば成功

 

4,Pytorchをインストールするため,対応するCUDAバージョンを調べる。

  こちらにアクセスし、自分の環境情報を入力する。

参考画像

  選択肢の中で最新なのはCUDA11.7であるため、ver.11.7をインストールする。

  (この手順はこちらを参考にしました:

   PyTorchの簡単過ぎるインストール【Pythonで機械学習】 | ジコログ

 

5,CUDAの別バージョンがインストールされている場合、削除する。

  私はCUDA11.8をかつてインストールしていたので、削除した。

  恐らくパスさえ気をつければ削除する必要はないと思うが、気になったので。

  普通にWindowsの設定からアプリのアンインストール画面に進み、NVIDIAのアプリの末尾が11.8を手動で全削除した。

  (こちらを参考にしました:

   CUDA Toolkit のインストール(Ver 10.0 → 11.4) | そう備忘録

  その後、パスもシステムの環境設定から削除しようとしたが、全部消えていた。

 

6,CUDAの過去バージョンをここからインストールする。普通に検索すると最新版しか選択肢にないページに遷移するので注意。

 

7,Windowsの検索バーで「システム環境変数の編集」と検索し、CUDA11.7などのPathが通っていることを確認する。

→「システム環境変数」に「CUDA_PATH_V11_7」と「CUDNN_PATH」が正しい場所を参照しており、システム環境変数内の「Path」をダブルクリックして「~bin」と「~libnvvp」が存在すれば成功。存在しない場合、これらを作成する。

※「ユーザー環境変数」のほうが「システム環境変数」より優先されるらしいが、私はPythonの環境をWindowsの副アカウント(Administatorアカウントでは無いアカウント)で作成しているので、ユーザー環境変数の方はスルーした。やっぱAdminアカウントで環境作った方が良かったと反省。

 

8,PCを再起動し、Pathが通っていることをcmdで確認する。

→cmdでwhere nvccと入力し、エラーが出ずに.exeのアドレスが表示されれば成功

→cmdでnvcc -Vと入力し、エラーが出ずに.CUDAのバージョンが表示されれば成功

※PCを再起動しないとPathは通っているのにエラーを吐いたので、再起動推奨。

 

9,Pytorchをインストール。ここから自分のバージョン情報を入力すると、cmdで打ち込むべきコマンドを表示してくれる。これをcmdにコピペする。

 

10,これで成功!と思いきや、以下のエラーメッセージが出現...。

ERROR: Could not find a version that satisfies the requirement torch (from versions: none)
ERROR: No matching distribution found for torch

 

調べてみるとPythonのバージョンが対応していないとのこと。

しかも、PytorchならOKだが、私がインストールしたPython3.11はPyPIが未対応だったらしい(そんなん気づくかよ)I

このサイトの左部にある「Programming Language」を参照のこと。

  (この手順はこちらを参考にしました:

   PyTorchのインストール失敗時にチェックすべきこと | ジコログ

 

11,旧バージョンPythonのインストール。インストール時に.pyのパスをこちらに通すのを忘れないように。(どうせなら仮想環境を整備しようかと考えたが、仮想環境のcdがめんどそう&VS codeのみでコントロールしたい&PowerShellわかんないなのでやめた)

 

12,必要なライブラリをpipで再びインストール。

 

13,今度こそPytorchをインストール。

→cmdでpython -c "import torch"と入力し、エラーが出なければ成功

 

14,cuDNNをダウンロード。

  (この手順はこちらを参考にしました:

   CUDA+cuDNNをインストールしPyTorchでGPUを認識させるまでの手順(Window11) - テク×てく ブログ

 

15,PyorchでGPUが使用できているか確認。

→以下のコマンドを入力し,Trueと出れば成功。

import torch
print(torch.cuda.is_available())

  (この手順はこちらを参考にしました:

   PyTorchでGPU情報を確認(使用可能か、デバイス数など) | note.nkmk.me

※作成コードを実行できない場合、Pythonにパスが通っていない。だいたいは「C:\Users\ASMO\AppData\Local\Programs\Python\Pythonxxx\python.exe」にあるので、それを環境変数のPathに登録してやる。

VS code右下に、自分が設定したバージョンのPythonが記載されていれば成功。

 駄目ならそこをクリックし、任意のバージョンを指定する。

 

16,Falseと出た場合(筆者)、Pytorchを削除して再インストールする。

   cmdで「pip uninstall torch」と入力し、PytorchのHPから再DL(手順9再び)

  (この手順はこちらを参考にしました:

   【AI】[Windows10]torch.cuda.is_available()がFalse | 夕湖津のブログ

※私は、「Torch not compiled with CUDA enabled」のエラーにイライラさせされ、藁にも縋る思いで再インストールしたら解決しました。cmdで「nvidia -smi」と入力するとProcessingに項目は出てくるからGPU自体は動いているし、以下のコードをVS codeで実行できるからPytorchもインストールされているのだろうと思っていました。

import torch
print(torch.cuda.is_available())
dev = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") #(1)
print(dev)
b = torch.zeros(4)
c = b.to(dev)
print(c)
 
<結果>
False
cpu
tensor([0., 0., 0., 0.])

  (この手順はこちらを参考にしました:

   deviceの使い方(pytorch) 使用するGPU、CPUを指定する~制御工学の基礎あれこれ~

 

これでやっと下準備が終わった...!!

 

 

~~以下参考~~

(1)cuDNNのバージョンは「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vxxx\include」の"cudnn_version.h"をいうファイルをVisual Studioで開けば確認できます。

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 0

これなら、ver. 8.6.0ということです。

 

(2)CUDAとcuDNNの違いは、

 CUDA...自作プログラムの計算処理にGPUを使用できるようにするためのソフト

 cuDNN...ライブラリ

という理解をしました。

 

(3)cuDNNはPathを手動でPathを通す必要があります。最初はZIPファイルを解凍し、Cドライブ直下にフォルダを作成してそこに全部入れていましたが、Pathが通っているCUDAのbinフォルダにcuDNNのbinフォルダに入っている中身全部を、CUDAのincludeファイルにcuDNNのincludeフォルダに入っている中身全部を...というように入れました。これは色々調べた中で「公式の方法以外だとエラーが出る」という文章を「自動で作成されたPath以外の場所にフォルダを作成してPathを通しても無意味って...コト!?」と私が勘違いしたためです。今後のことを考えると、普通に最初にやったように「解凍したフォルダをそのままどこかに置き、手動でPathを通す」の方が良かったと思います。

12月11日進捗

教科書を参考にしながらサンプルコードを実行しようとしたところ、Anaconda Promptで.pyが起動できない(というかよくわからないバグ?)。

おそらく、教科書ではcmdから.pyを起動するように指定しているが、私は今までエディターを使用していた経験からVS codeを導入して実行しようとしたことが原因。

condaコマンドで導入したライブラリの呼び出しに難ありと考えた。このとき、

 

・友人に「Anacondaにない関数をpipでインストールすると、condaでインストールしたものと混ざってめんどいよ」と言われたこと

・かつてPycharmを使用していた際にPycharm内でライブラリーをインストールしていたが、一部のライブラリしかインストールできなかった。このときに、pipかcondaのどちらを使うか悩んだ

・よくわからないものを使うのは性に合わない

 

という点で、anacondaを全消去して手動で様々なライブラリをインストールすることにした。

Anacondaは様々なライブラリなどがセットになったPythonだと認識しているが、よく分かっていないのが実情。今までの経験上、核となる部分をマニュアルにしなかったせいで痛い目にあったことが多いので、このような方法を取ることにした。

 

教科書ではAnaconda Promptを使用しているので、pip installでインストールできるが、windows11のcmdからでは -m pip install <library>でインストールする。

 

VScodePythonを手動で設定するのは以下のサイトを参考にした。

ターミナルで実行: Visual Studio Code でPython入門 【Windows編】 - python.jp

 

 

----------------------------------------------------------------------------------------------

(1)Pytorchのインストールからやり直しとなった。CUDAは11.8をインストールしておりパスが通っている、PytorchではCUDA11.7用までしかインストールできない。そのため、来週はCUDAを11.7にダウングレードすることから始める。

(2)来週は友人から紹介されたYouTubeを視聴し、「教師あり学習Pythonで実装するにはどうするか」を学ぶ。

 

 

友人はもう一つプログラムを完成させたらしい。私も頑張らねば...。

 

11月27日進捗

PytorchからGPUを使用できているか、参考書通りにやってもうまく確認できない。

参考書通りにcudaのver11.7をインストールしたが、GPUの起動を確認できなかったので、手動で11.8もインストールしてしまった。

 

cuDNNは11.8下に入れてPathを通したが、"nvcc -V"では11.7と出る。

今後バグが生じそうなので、11.7を消したいが、全て手動する必要がありそうで面倒そう。

11.7の下にcuDNNを移動したほうがいいのか...?でも、そもそも11.7が見つからないのだが...? anacondaの中に入っているのか...?

 

 

【追記】

参考書では

python -c 'import torch;print(torch.zeros(1).cuda())'

と打ち込めと書いてあり、その結果

  File "<string>", line 1
    'import
           ^
SyntaxError: EOL while scanning string literal

と出た。これを、

"import torch;print(torch.zeros(1).cuda())"

と書き直すと、

tensor([0.], device='cuda:0')

と正しく出力された。シングルクオテーションは使わないほうがいいのか...?

備忘録_ゲーミングパソコン選び

先日、ゲーミングPCを買いました。

そのときの下調べについてまとめておきます。

 

--------------------------------------------------------------------

1,スペックについて

要望...「これがしたい」というゲームはないが、メジャーなゲームをプレイできるレベル。VR(Oculus)もしたい。

友人からのオススメ...以下のスペックがコスパが良い。

  • CPU...12世代i5
  • GPU...3060Ti
  • メモリ...16GB

 

2,メーカーについて

完全な主観(ソース...5ch / 個人ブログ / 雑多な記事の評判)

  • ドスパラ(ガレリア)...まず間違いはない。悩んだらハズレはない。
  • マウス...最も知名度がある。ただし、最有力候補にこれを挙げる人は少ない。
  • フロンティア...頻繁にセールしており、かなり安い。光らないPCケースもある。
  • HP...業界最安値。ただし、排熱や騒音問題がある。
  • Lenovo...フロンティアまではいかないが安い。しかし、サイトが見にくかった。
  • Dell...異形型のかっこいいPCだが、デスクトップは高価。

現在使用しているのはHPのノートPCだが、騒音問題やスリープが勝手に解除される問題、BIOSの問題が生じている。また、左側のスピーカーが壊れている。勿論、数年使用したものなので仕方がない面もあるが、個人的には不満を感じているので、HPは候補から外した。また、マウスは先輩が「失敗した」と言っていたイメージが強く、断念した。

 

3,購入タイミングについて

基本的には「欲しいときが買い時」である。ただし、ボーナス時期や新生活時期には大規模なセールが行われやすい。そのため、4月・6月・12月がチャンス。

 

--------------------------------------------------------------------

以上のまとめから、フロンティアのゲーミングPCを購入しました。

上記の指定スペック+Officeソフト+多少のシステムアップグレードを行ってBTOパソコンが、20万円で購入できて満足です。

仕事が忙しくて開封できていませんが、開封時にはレビューしようと思います。

皆様よい夜を。

 

リピ買いメモ_シャンプー

シャンプーやリンスを使い切るたびに新種を試す生活を送って早数年、やっとお気に入りを見つけました。「h&s for men シャンプー」です。

 

h&s for men シャンプー ボリュームアップ 詰め替え 300mL

h&s for men シャンプー ボリュームアップ 詰め替え 300mL

  • 発売日: 2017/09/18
  • メディア: ヘルスケア&ケア用品
 

 

自分の髪質にあっていて、好みでした。

ネットで買うより、ドラッグストアで買ったほうが安いと思います。

皆様よい夜を。

Google日本語入力が学習してくれない件について

はじめまして。Bouと申します。

 

パソコンを買い換えたとき、一からソフトをインストールし直したのですが、Google日本語入力が全く学習してくれなくなり悩んでおりました。

辞書登録した単語も一番上に表れてくれない、などの症状も起きていました。

 

古いパソコンでも同じ症状が起きた経験があり、何かいじったら解決したと記憶していたので、ぐぐったところ原因がわかりました。

 

それは、プロパティで「シークレットモード時に学習しない」にチェックをつけていたことでした。何故か分かりませんが、この機能を有効にしていたせいで常に学習してくれなかったようです。

 

これをオフにしたところ、ちゃんと学習してくれるようになりました。

皆様よい夜を。

 

 

 

(参考URL)

https://support.google.com/gboard/forum/AAAAWMow2iwldDHunGU8nk/?hl=ja&gpf=%23!topic%2Fime-ja%2FldDHunGU8nk