web-dev-qa-db-ja.com

「g ++ not detected」データセットが大きくなると、GPUのマトリックスサイズに制限はありますか?

Kerasを使用して、大きな3Dテンソル(テキストから生成され、1つはホットエンコードされ、結果は(165717、25、7631)の形状)を使用して言語モデルのRNNをトレーニングするときにこのメッセージが表示されました。

WARNING (theano.configdefaults): g++ not detected ! Theano will be unable to 
execute optimized C-implementations (for both CPU and GPU) and will default to 
Python implementations. Performance will be severely degraded. To remove this 
warning, set Theano flags cxx to an empty string.
ERROR (theano.sandbox.cuda): nvcc compiler not found on $PATH. Check your nvcc 
installation and try again.

しかし、私はデータセットのサイズを小さく制限しながら、すべてがうまくいきます。したがって、TheanoまたはCUDAはマトリックスのサイズを制限するのでしょうか?

その上、私は1つの熱い表現をするより良い方法がありますか?つまり、大きな3Dテンソルでは、ワンホット表現によりほとんどの要素が0になります。しかし、単語の索引表現を受け入れるレイヤーが見つかりませんでした。

10
nanoix9
conda install mingw libpython

これがインストールされていることを確認してください。この回答は、マニュアルから示されている別の投稿 https://stackoverflow.com/a/31109547/3598832 から入手してください。

6
user3598832

Theanoのインストールは完了していません。

質問の貼り付けた結果には、次の2つの問題があります。

警告(theano.configdefaults):g ++が検出されません! Theanoは(CPUとGPUの両方で)最適化されたC実装を実行できず、デフォルトはPython実装です。パフォーマンスが大幅に低下します。この警告を削除するには、Theanoフラグcxxを空の文字列。

小さなデータサイズでもこれが表示されるのではないかと思いますが、これは警告であり、正常に動作し続けます(純粋なPython実装を自動的に使用)。

エラー(theano.sandbox.cuda):nvccコンパイラが$ PATHに見つかりません。 nvccインストールを確認して、再試行してください。

これは、GPUを使用しようとしているためにデータサイズが増加したときに発生する問題です。

どちらのメッセージも、Theanoのインストールが不完全であることを示しています。 1つ目は、C++コンパイラが適切に設定されていないことを示しています。 2番目は、CUDAを正しくセットアップしていないことを示しています。これらの問題を修正するには、 インストールドキュメント の適切なセクションに従う必要があります。単にpip install Theanoは、純粋なPython実装以外のものを使用する場合には不十分です。

3
Daniel Renshaw