全2件 (2件中 1-2件目)
1
deep learningの実行は、GPUを搭載したスタンドアローンのUbuntuのPCで、jupyter notebookを使って行っていたが、GPUを搭載したPCクラスターで行えるようにした。今まで、PCクラスターでは、コマンドラインしか使えないと思っていたし、jupyter notebookでの計算に慣れていたので、PCクラスターでdeep learning を走らせることは、敷居が高かった。jupyter notebookだと、firefox等のウェブクライアント上で、インタラクティブにdeep learningのコマンドを実行できるので楽なのだ。最近、ssh -Xで、計算ノードにログインすれば、jupyter notebookを使えるのではないかと思いつき、やってみた。以下、centos7のGPU搭載のPCクラスターで、jupyter notebookを使ってdeep learningが実行できるようにした手順を記録しておく。まず、ログインノードにxrdp のインストール。rootとして実行。# yum install xrdp# systemctl start xrdp# systemctl enable xrdpただ、xrdpのバージョンが良くなかったのか、ログインに失敗する。結局、yumでインストールされるものとは違うバージョンのrpmファイルをダウンロードし、インストールした。# yum install xrdp-0.9.22.1-2.el7.x86_64.rpmこれで、remote desktopで、ログインノードにログインできた。次に各計算ノードでの作業。rootとして実行。GPUノードなので、nvidiaのドライバーとcuda11.8はインストール済み。cudnnのインストールが必要なので、nvidiaから、cudnn-local-repo-rhel7-8.9.1.23-1.0-1.x86_64.rpmをダウンロードした。# rpm -ivh cudnn-local-repo-rhel7-8.9.1.23-1.0-1.x86_64.rpmでインストール終了かと思ったが、うまく動かない。nvidiaの説明(https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html)を読むと、以下のコマンドが必要。# yum install libcudnn8-devel-8.9.1.23-1.cuda11.8ここまでできれば、python3を立ち上げて>>> import tensorflow as tt>>> tf.test.is_gpu_available()を実行すれば、GPUが認識されるはず。この後は、pipを用いての、jupyter notebook等のインストール。ここからは、一般ユーザーとして実行。多分ログインノードで一度実行すればいいと思う。# pip install jupyter# pip install tensorflow# pip install pillow最後のpillowは、deep learning の実行中にエラーが出たので、インストールした。以下はjupyter notebookの立ち上げ。まず、remote destktopで、ログインノードにログイン。terminalを開いたのち、# ssh node01 -Xで、node01にログイン。そこで、jyuputer notebook の起動。# jupyter-notebook これで、centosではデフォルトでfirefoxが起動すると思う。ただし、ほかのノードからも同時にjupyter notebookを起動するのは、firefoxではできないようだ。google-chromeを各計算ノードにインストールして、デフォルトのwebブラウザと設定しておくと、同時起動が可能だった。追記:chatGPTに質問したら、最後の部分について、いい方法を教えてくれた。計算ノードに、-X オプションなしでログイン。# ssh node01jupyter notebookの立ち上げ。# jupyter-notebook --no-browser --port=8888これで、jupyter notebookは立ち上がるが、webブラウザーは起動しない。次に、ログインノードで、sshトンネルを使う。# ssh -L 8889:localhost:8888 node01最後にログインノードから、以下にアクセス。http://localhost:8889ポート8889の番号を、計算ノードごとに変えれば、複数のノードで同時にjupyter notebookを使える。この方法だと、firefoxも利用可能だし、タブごとに別々の計算ノードにアクセスできる。
2023.05.27
最近話題のchatGPT。しばらく前から使っているが、プログラミングで非常に役に立つ。私の用途は、ほぼこれのみ。最近、kerasのプログラミングをお願いした。ほかの言語なら簡単なことだが、kerasのような慣れていない言語だと、とても骨が折れる。Q: kerasを用いた画像認識のプログラミングで、確率が上位5番以内に入った場合を正解とする確率を求めるようにするプログラムを作成してください。A:...プログラムとそれの解説。まずまずなのだが、私の求めているのとは違う。そこでQ:上のプログラムをdecode_predictionsを使わずに書いてください。A:....まだだめ。Q:evaluate_generatorを使って書いてください。A:....まただめ。Q:上のプログラムではうまくいきませんでした。A: 申し訳ありません.....謝る必要はないと思う。ただ、まだ求めているものとは違う。Q:上のプログラムで、class_indicesを使わずに書いてください。A:.....答えのプログラムを実行するとエラーが出る。chatGPTの書いたプログラムでエラーが出るとは驚きだ。Q:上のプログラムで、ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()というエラーが出ました。A: すみません。....ようやく、うまくいった。何度もやり取りをする必要があるとは、思わなかった。こちらの知識もある程度要求されると思う。そのほか、こんな質問もしてみた。Q:kerasのImageDataGeneratorでpreprocessing_function=preprocess_inputを使うと、スコアが悪くなるのですが。A:....このような場合は、preprocess_input関数を使用せず....を行うことを検討することができます。こんな情報は、ネットを検索しても得られなかったので、本当ならありがたい。やはり問題は、chatGPTをどこまで信用してよいかということ。
2023.05.10
全2件 (2件中 1-2件目)
1
![]()

