問題タブ [theano-cuda]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
220 参照

python - Theano のインストールの問題 - corecrt.h が解決され、何百ものコンパイル エラーが発生しました。

私は一日中この問題に頭を悩ませてきました!

最初は、コンパイラが corecrt.h ファイルを見つけられないという問題がありました。C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrtすべてのインクルード ファイルを からにコピーすることで修正したようですC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include

しかし今、何百ものコンパイルエラーが発生しています。私は C/C++ にあまり詳しくありませんが、これは明らかな問題のように見えますか?

0 投票する
1 に答える
590 参照

theano - Theano が Gpu を見つけられない - Ubuntu 16.04

警告 (theano.sandbox.cuda): CUDA がインストールされていますが、デバイス gpu が利用できません (エラー: cuda を利用できません)

サンプル Theano プログラムを実行しようとすると、このエラーが発生します。

このスレッドで提案されているすべての修正を試しました。

nvcc --version出力:

nvcc: NVIDIA (R) Cuda コンパイラ ドライバ
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Tue_Aug_11_14:27:32_CDT_2015 Cuda
コンパイル ツール、リリース 7.5、V7.5.17

nvidia-smi出力:

gcc バージョン:

私はこれをしばらくの間機能させようとしてきましたが、誰かが私を正しい方向に向けてほしいと思っています。

0 投票する
0 に答える
118 参照

python-3.x - 重みを取得し、変換してネットワークにフィードするための keras の中間層

ケラスのグラフ構造を使用したカスタムレイヤーモデルがあります。既存のレイヤーの各ペアの間に中間レイヤーを追加したい。このレイヤーの機能は、keras が提供する GaussianNoise レイヤーに似たノイズを追加することです。前のレイヤーのウェイトを操作して、次のレイヤーに送りたいと思います。

私の問題は、前のレイヤーからこれらの重みを取得する方法を理解できないことです。例としてGaussianNoiseレイヤーを見てみました。call メソッドは次のように定義されます。

「x」は TensorVariable であり、重みに関する情報はありません。この中間層内で重みを取得するにはどうすればよいですか?

ありがとう

0 投票する
0 に答える
626 参照

gpu - sudo 権限なしで GPU メモリを解放する

私は深層学習の実験に theano を使用しています。新しいプロセスを開始するために、ctrl+c で 3 週間実行中のプロセスを強制終了しました。

ご覧のとおり、プロセスを強制終了しましたが、gpu メモリは解放されません。nvidia-smi によると、23MB の小さな使用量を除いて、メモリは無料です。テスラk40を使用しています。

しかし実際には、非常に小さなデータセットでも実行しようとすると、メモリ エラーが発生します。わずか 23 MB の使用量であれば、まったく問題にはなりません。

使用しているマシンに sudo 権限がありません。この問題を解決するにはどうすればよいですか?

0 投票する
1 に答える
94 参照

python-2.7 - Theano Windows 7 インポート エラー

今日、W7 x64 に Theano をインストールしようとしました。インストールしたと思いますが、どこかで間違えてどこにあるのかわかりません。私は実際にCUDAでそれを使いたいです。

インストールしたプログラムは次のとおりです。Anaconda 4.2.0 x64 (Python 2.7.12)、TDM GCC、CUDA 8.0 Visual Studio 13 Theano、Git 経由

theanorcファイルは次のとおりです。

私が言ったように、私はどこで間違いを犯したのか分かりません。「import theano」と書いたときの出力は次のとおりです。

よろしくお願いします!

ps: もう 1 つのエラー -> http://pastebin.com/V59Pm9Qa

0 投票する
0 に答える
155 参照

linux - CUDA と Theano が連携しません

このコードを実行して GPU の健全性をテストしようとしています

このエラーが発生しました:

mod.cu(941): 警告: 符号なし整数とゼロの無意味な比較
mod.cu(3001): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3004): 警告: 文字列からの変換リテラルから "char *" への変換は非推奨です
mod.cu(3006): 警告: 文字列リテラルから "char *" への変換は非推奨です
mod.cu(3009): 警告: 文字列リテラルから "char *" への変換は非推奨です
mod.cu(3011): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3014): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3017): 警告: 文字列リテラルから "char *" への変換は非推奨です
mod.cu(3020): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3022): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3025): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3027): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3030): 警告: 文字列リテラルから " への変換
mod.cu(3032): 警告: 文字列リテラルから "char *" への変換は推奨されませんmod.cu
(3035): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu (3038): 警告: 文字列リテラルから "char *" への変換は非推奨です
mod.cu(3041): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3043): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3046): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3048): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3051): 警告: 文字列リテラルから " への変換
mod.cu(941): 警告: 符号なし整数とゼロの無意味な比較
mod.cu(3001): 警告: 文字列リテラルから "char *" への変換は非推奨ですmod.cu
(3004): 警告: 文字列リテラルから "char *" への変換は非推奨です
mod.cu(3006): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3009): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3011): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3014): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3017): 警告: 文字列リテラルから " への変換
mod.cu(3020): 警告: 文字列リテラルから "char *" への変換は推奨されませんmod.cu
(3022): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu (3025): 警告: 文字列リテラルから "char *" への変換は非推奨です
mod.cu(3027): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3030): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3032): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3035): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3038): 警告: 文字列リテラルから " への変換
mod.cu(3041): 警告: 文字列リテラルから "char *" への変換は推奨されませんmod.cu
(3043): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu (3046): 警告: 文字列リテラルから "char *" への変換は非推奨です
mod.cu(3048): 警告: 文字列リテラルから "char *" への変換は推奨されません
mod.cu(3051): 警告: 文字列リテラルから "char " への変換は推奨されません
/usr/include/string.h:関数 'void
__mempcpy_inline(void*, const void*, size_t)':
/usr/include/string.h:652:42: エラー: 'memcpy' はこのスコープで宣言されていません
return (char ) memcpy (__dest, __src 、__n) + __n;
^
mod.cu: 関数 'PyObject
CudaNdarray_Reshape(CudaNdarray*, PyObject*)':

mod.cu:955:122: 警告: フォーマット '%lld' は 'long long int' 型の引数を期待していますが、引数 3 の型は 'size_t {aka long unsigned int}' [-Wformat=]
PyErr_Format(PyExc_ValueError, "size %lld から %lld に変更されました", CudaNdarray_SIZE(self), rval_size);
^
['nvcc'、'-shared'、'-O3'、'-m64'、'-Xcompiler'、'-DCUDA_NDARRAY_CUH=c72d035fdf91890f3b36710688069b2e、-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION、-fPIC、-fvisibility=hiddener'、'-linker' '-rpath,/home/rkenaya/.theano/compiledir_Linux-4.4--generic-x86_64-with-Ubuntu-16.04-xenial-x86_64-2.7.12-64/cuda_ndarray', '-I/usr/local/lib/ python2.7/dist-packages/theano/sandbox/cuda', '-I/usr/local/lib/python2.7/dist-packages/numpy/core/include', '-I/usr/include/python2. 7', '-I/usr/local/lib/python2.7/dist-packages/theano/gof', '-o', '/home/rkenaya/.theano/compiledir_Linux-4.4--generic-x86_64-with -Ubuntu-16.04-xenial-x86_64-2.7.12-64/cuda_ndarray/cuda_ndarray.so', 'mod.cu', '-L/usr/lib', '-lcublas', '-lpython2.7','-lcudart'] mod.cu:955:122: 警告: フォーマット '%lld' はタイプ 'long long int' の引数を期待していますが、引数 4 のタイプは 'size_t {aka long unsigned int}' [-Wformat=] エラーです(theano.sandbox.cuda): cuda_ndarray.cu のコンパイルに失敗しました: ('nvcc return status', 1, 'for cmd', 'nvcc -shared -O3 -m64 -Xcompiler -DCUDA_NDARRAY_CUH=c72d035fdf91890f3b36710688069b2e,-DNPY_NO_DEPRECATED_API=_NPY_1 fPIC,-fvisibility=hidden -Xlinker -rpath,/home/rkenaya/.theano/compiledir_Linux-4.4--generic-x86_64-with-Ubuntu-16.04-xenial-x86_64-2.7.12-64/cuda_ndarray -I/usr/ local/lib/python2.7/dist-packages/theano/sandbox/cuda -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 - I/usr/local/lib/python2.7/dist-packages/theano/gof -o /home/rkenaya/.theano/compiledir_Linux-4.4--generic-x86_64-with-Ubuntu-16.04-xenial-x86_64-2.7.12-64/cuda_ndarray/cuda_ndarray.so mod.cu -L/usr/lib -lcublas -lpython2.7 -lcudart')
WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu is not available (error: cuda available)
[Elemwise{exp,no_inplace}()]
1000 回のループに 4.233657 秒かかりました
結果は [ 1.23178029 1.61879337 1.52278066 ... 、2.20771813 2.29967761 1.62323284]
CPUを使用

0 投票する
1 に答える
831 参照

theano - Keras と Theano を使用したモデルの選択には非常に長い時間がかかります

CUDA を備えた Tesla K80 GPU を備えた AWS P2 インスタンスで実行するように設定された Keras と Theano を使用して、さまざまなアーキテクチャとパラメーターを持つ一連の再帰型ニューラル ネットワークのモデル選択とパフォーマンス推定のためにネストされた交差検証を実行しています。 cuDNN がインストールされている/有効になっている。

モデル選択を実行するために、パラメーター空間からサンプリングされた 30 個のモデルを比較します。

NeuralNetworkClassifier()次に、以下に定義する関数を使用して RNN モデルを構築します

'nb_hidden_layers'隠れ層の数がパラメーターin で指定され、各層param_gridの隠れユニットの数が list からランダムにサンプリングされる RNN を構築します[50, 75, 100, 125, 150]。最後に、この関数compileはモデルを返します。

ネストされた相互検証 (CV) 中に、内側のループ (IN時間を実行) は、ランダムに選択された 30 個のモデルのパフォーマンスを比較します。このステップの後、外側のループで最もパフォーマンスの高いモデルを選択し、ホールドアウト データセットでそのパフォーマンスを推定します。このスキームは何OUT度も繰り返されます。したがって、私はcompileRNN モデルをOUTx INx30 回実行していますが、これには非常に長い時間がかかります。たとえば、いつOUT=4との場合IN=3、私のメソッドは完了するまでに 6 ~ 7 時間かかります。

GPU が散発的に使用されていることがわかります (ただし、GPU 使用率が 40% を超えることはありません)。ただし、ほとんどの場合、使用されているのは CPU です。私の (無知な) 推測では、これcompileは CPU で何度も行われ、計算時間の大部分を占めますが、モデルのフィッティングと予測は GPU で行われ、短時間で済みます。

私の質問:

  1. この状況を改善する方法はありますか?
  2. compile実際にCPU上で行われますか?
  3. ネストされた CV を使用して最適な RNN アーキテクチャを選択するにはどうすればよいでしょうか?
  4. 本番サーバーでこのスキームを実行することは合理的ですか? 最高のパフォーマンスを発揮するモデルを選択し、その後その 1 つのモデルを本番サーバーで使用するために、24 時間かかるかもしれない 1 つの大きなネストされた CV を実行することをお勧めしますか?

皆さん、ありがとうございました。