質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

1360閲覧

AssertionErrorを解決したい

smart-material

総合スコア12

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/11/27 03:43

編集2021/11/27 05:52
AssertionError: AbstractConv2d Theano optimization failed: there is no implementation available supporting the requested options. Did you exclude both "conv_dnn" and "conv_gemm" from the optimizer? If on GPU, is cuDNN available and does the GPU support it? If on CPU, do you have a BLAS library installed Theano can link against? というエラーが発生しました

エラー文章は下記になります。

Using Theano backend. ERROR (theano.sandbox.cuda): nvcc compiler not found on $PATH. Check your nvcc installation and try again. ERROR (theano.gof.opt): Optimization failure due to: local_abstractconv_check ERROR (theano.gof.opt): node: AbstractConv2d{border_mode='half', subsample=(1, 1), filter_flip=True, imshp=(None, None, None, None), kshp=(32, 3, 3, 3)}(convolution2d_input_1, convolution2d_1_W) ERROR (theano.gof.opt): TRACEBACK: ERROR (theano.gof.opt): Traceback (most recent call last): File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/gof/opt.py", line 1772, in process_node replacements = lopt.transform(node) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/tensor/nnet/opt.py", line 402, in local_abstractconv_check node.op.__class__.__name__) AssertionError: AbstractConv2d Theano optimization failed: there is no implementation available supporting the requested options. Did you exclude both "conv_dnn" and "conv_gemm" from the optimizer? If on GPU, is cuDNN available and does the GPU support it? If on CPU, do you have a BLAS library installed Theano can link against? Traceback (most recent call last): File "9_Layer_CNN.py", line 301, in <module> run_train('9_Layer_CNN') File "9_Layer_CNN.py", line 210, in run_train callbacks=[cp]) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/keras/models.py", line 620, in fit sample_weight=sample_weight) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/keras/engine/training.py", line 1047, in fit self._make_test_function() File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/keras/engine/training.py", line 716, in _make_test_function **self._function_kwargs) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/keras/backend/theano_backend.py", line 682, in function return Function(inputs, outputs, updates=updates, **kwargs) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/keras/backend/theano_backend.py", line 668, in __init__ **kwargs) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/compile/function.py", line 320, in function output_keys=output_keys) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/compile/pfunc.py", line 479, in pfunc output_keys=output_keys) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/compile/function_module.py", line 1776, in orig_function output_keys=output_keys).create( File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/compile/function_module.py", line 1456, in __init__ optimizer_profile = optimizer(fgraph) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/gof/opt.py", line 101, in __call__ return self.optimize(fgraph) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/gof/opt.py", line 89, in optimize ret = self.apply(fgraph, *args, **kwargs) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/gof/opt.py", line 230, in apply sub_prof = optimizer.optimize(fgraph) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/gof/opt.py", line 89, in optimize ret = self.apply(fgraph, *args, **kwargs) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/gof/opt.py", line 1879, in apply nb += self.process_node(fgraph, node) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/gof/opt.py", line 1777, in process_node lopt, node) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/gof/opt.py", line 1673, in warn_inplace return NavigatorOptimizer.warn(exc, nav, repl_pairs, local_opt, node) File "/home/a/anaconda3/envs/main/lib/python2.7/site-packages/theano/gof/opt.py", line 1659, in warn raise exc AssertionError: AbstractConv2d Theano optimization failed: there is no implementation available supporting the requested options. Did you exclude both "conv_dnn" and "conv_gemm" from the optimizer? If on GPU, is cuDNN available and does the GPU support it? If on CPU, do you have a BLAS library installed Theano can link against?

最初の方にも複数エラーが発生していることも確認できましたが、うまく解決することができませんでした。
よろしくお願いいたします。

実装ディープラーニングという本の9_Layer_CNN.pyというプログラムを動かしています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/11/27 23:23 編集

> 実装ディープラーニングという本 の106ページの「コマンド 4.5」のところは、どのように実行してますか? Pythonを使ってるパソコンには、GPUは付いてますか? (10ページの「1.3.2 GPUの利用」を参照) GPUが付いてる場合は、CUDAのインストールはしましたか? (24ページの「(1) CUDAのインストール」を参照) > ERROR (theano.sandbox.cuda): nvcc compiler not found on $PATH. CUDA(GPU)を使おうとしてるけど、見つからないようです CUDAをインストールしてないからGPUを使えない状態なのに、106ページの「コマンド 4.5」でGPU関連の指定をして実行してる、のではありませんか?
jbpb0

2021/11/27 12:00

> 実装ディープラーニングという本の9_Layer_CNN.pyというプログラムを動かしています。 当方のMacで実行したら、エラー出ずに学習がスタートしました (学習が終わるまでにかなり時間がかかりそうだったので、学習スタート後に中断しました) 以下、確認した手順を書きます AnacondaでPython 2.7の仮想環境を作って有効化 https://www.ohmsha.co.jp/book/9784274219993/ の「ダウンロード」から「projects.tar.gz」をダウンロードして展開 http://www.vision.caltech.edu/Image_Datasets/Caltech101/ から「101_ObjectCategories.tar.gz」をダウンロードして、書籍85〜88ページの手順を実行 書籍89ページの手順通りに、いろいろインストール ただし、numpy、pandas、matplotlib、scikit-imageは「pip」ではなく「conda」で、下記コマンドで書籍のバージョンに近いものをインストール conda install numpy==1.11.3 pandas==0.20.3 matplotlib==2.0.2 scikit-image==0.13.0 また、書籍87ページの「コマンド 4.2」で「pip」でnumpyをインストールしている場合は、上記「conda install...」を実行する前に pip uninstall numpy でアンインストールしておく 「~/.keras/keras.json」の内容を確認し、「Theano」がバックエンドになってなければ修正 参考:http://www.fward.net/archives/2382#faqQ4 書籍106ページの「コマンド 4.5」を実行 ただし、MacなのでGPUが使えないので、GPU関連の指定は削除する export THEANO_FLAGS='mode=FAST_RUN,floatX=float32' python 9_Layer_CNN.py train
smart-material

2021/11/28 02:57

コメントありがとうございます。 コマンド4.5は、書籍の記載通りの実行をしました。 実行しているパソコンにGPUは乗っております。 書籍P24「lscpi | grep -i nvidia」 を実行して確認いたしました。 パスが上手く通っていないのでしょうか? それとも、書籍と同じCUDAのバージョンをダウンロードしたのですが、違うバージョンを入れるべきでしょうか? 「export THEANO_FLAGS='mode=FAST_RUN,floatX=float32' python 9_Layer_CNN.py train」 このコードを実行すると、ERROR (theano.sandbox.cuda): nvcc compiler not found on $PATH. は表示されません。 書籍89ページの手順通りに、いろいろインストール ただし、numpy、pandas、matplotlib、scikit-imageは「pip」ではなく「conda」で、下記コマンドで書籍のバージョンに近いものをインストール conda install numpy==1.11.3 pandas==0.20.3 matplotlib==2.0.2 scikit-image==0.13.0 また、書籍87ページの「コマンド 4.2」で「pip」でnumpyをインストールしている場合は、上記「conda install...」を実行する前に pip uninstall numpy でアンインストールしておく 私は、書籍の通り、pipでインストールしてしまいました。 また、pip uninstall numpy を実行しておりません。 jbpb0様はどういった経緯で、書籍に記載されていないことを実行されたのでしょうか? >numpy、pandas、matplotlib、scikit-imageは「pip」ではなく「conda」 これは、ご経験から判断したのでしょうか。 批判ではなく、非常に感銘を受けたため、興味本位で聞かせていただきました。 私は、Linuxで実行しており、今から深層学習について勉強しようとしております。
jbpb0

2021/11/28 23:10 編集

> 実行しているパソコンにGPUは乗っております。 書籍P24「lscpi | grep -i nvidia」 を実行して確認いたしました。 パスが上手く通っていないのでしょうか? CUDAのインストール後に環境変数を正しく設定したら、 which nvcc でCUDAのコンパイルコマンド(nvcc)が見つかるはずなので、確認してみてください > ERROR (theano.sandbox.cuda): nvcc compiler not found on $PATH. となるということは、環境変数が正しく設定されて無くて、CUDAが使える状態になって無いようです 参考 https://www.kkaneko.jp/tools/ubuntu/ubuntu_cudnn.html の、「NVIDIA グラフィックスドライバ,NVIDIA CUDA ツールキット11.4 のインストール」の「8. NVIDIA CUDA ツールキットにパスを通す設定」と、「nvcc の動作確認」
jbpb0

2021/11/28 22:58

> 書籍に記載されていないことを実行 これまでの経験と、一旦書籍通りにやってみた結果の両方です ・condaでインストールしたものをpipでインストールやアップデートする ・pipでインストールしたものをcondaでインストールやアップデートする をやると、おかしな状態になり、インストールしてあるはずなのにインポートできなかったり、実行したらエラーになったりすることがあります (必ずなるわけではありませんけど) numpy、pandas、matplotlib、scikit-imageはAnacondaインストール時点で(condaで)インストールされてますから、さらにpipでインストールしたら上記に該当します 一旦書籍通りにpipでインストールしてみたのですが、その状態では実行時にnumpyのエラーが出ました それでも学習はスタートしましたが、エラーを無視していいのか分からないので調べたところ、元々Anacondaに同梱されてたnumpyが中途半端に残っていました それがpipでインストールしたnumpyに干渉しているのだと考えましたが、condaでインストールされてるnumpyを完全に削除するといろいろ副作用があるので、pipで入れた方を完全に削除して、condaでnumpyを(バージョン指定して)インストールし直したところ、エラーが出なくなりました numpy以外はエラーは出ませんでしたが、もし見えないところで不具合が発生してたら嫌だなと思って、numpy同様に対処しました その結果、numpy、pandas、matplotlib、scikit-imageは一旦pipでインストールしたことが「無かったこと」になり、最初からcondaでバージョン指定してインストールしたのと同じ状態になったはずなので、前のコメントではそれだけ書きました
guest

回答1

0

CUDAのインストール後に環境変数を正しく設定したら、

sh

1which nvcc

でCUDAのコンパイルコマンド(nvcc)が見つかるはずなので、確認してみてください

ERROR (theano.sandbox.cuda): nvcc compiler not found on $PATH.

となるということは、環境変数が正しく設定されて無くて、CUDAが使える状態になって無いようです

参考
NVIDIA グラフィックスドライバ,NVIDIA CUDA ツールキット 11.4,NVIDIA cuDNN 8 のインストール(Ubuntu 上)
の、「NVIDIA グラフィックスドライバ,NVIDIA CUDA ツールキット11.4 のインストール」の「8. NVIDIA CUDA ツールキットにパスを通す設定」と、「nvcc の動作確認」

投稿2021/12/20 02:51

jbpb0

総合スコア7651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問