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

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

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

CPUは、コンピュータの中心となる処理装置(プロセッサ)で中央処理装置とも呼ばれています。プログラム演算や数値計算、その他の演算ユニットをコントロール。スマホやPCによって内蔵されているCPUは異なりますが、処理性能が早いほど良いとされています。

深層学習

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

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

解決済

1回答

1442閲覧

pytorch gpuでモデル(複雑)を動かしたい

Flan.

総合スコア123

CPU

CPUは、コンピュータの中心となる処理装置(プロセッサ)で中央処理装置とも呼ばれています。プログラム演算や数値計算、その他の演算ユニットをコントロール。スマホやPCによって内蔵されているCPUは異なりますが、処理性能が早いほど良いとされています。

深層学習

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

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

0グッド

0クリップ

投稿2020/06/03 22:42

編集2020/06/03 22:43

やりたいこと
下のモデルを動かす

試したこと
何をすればいいかわからない 
とってきたコードだから詳しいこともわからない
とってきたのは結構前だから元どこかわからない 多分消えた

なぜCPUに移動させてないのに 勝手にGPUから移動してるのかわかる人教えてください

     レイヤー定義     略 CNNと全結合 ここまでのレイヤーは正常に動きます self.L = nn.Linear(self.hidden_size, num_outputs ** 2) nn.init.kaiming_normal_(self.L.weight, a=0, mode='fan_in', nonlinearity='leaky_relu') self.tril_mask = Variable(torch.tril(torch.ones( num_outputs, num_outputs), diagonal=-1).unsqueeze(0)) self.diag_mask = Variable(torch.diag(torch.diag( torch.ones(num_outputs, num_outputs))).unsqueeze(0))      動かすとき    def forward(self,inputs,net): if net=="net_q": x, u = inputs x=torch.from_numpy(x).to(self.device) u=torch.from_numpy(u).to(self.device) x=x.permute(0 ,3, 1, 2) else: x = torch.from_numpy(inputs).to(self.device) x=x.permute(0 ,3, 1, 2) #------------------------------------ x=self.cnn1(x) x=x.contiguous().view(-1, 1).T x=self.net(x) 全結合      if net=="net_a":       略 これは正常に動きます おそらくこの下に原因 mu L V V_qはnn.Linear if net=="net_q": mu =self.mu(x) V=self.V(x)+-self.V_q(x) outputs = mu.size(1) L = self.L(x).view(-1,outputs,outputs) L = L * \ self.tril_mask.expand_as(L) + torch.exp(L) * self.diag_mask.expand_as(L)         この上で行でエラー モデル定義 device = 'cuda' if torch.cuda.is_available() else 'cpu' print(device) mainQN = QNetwork(state.shape,action_size,device).to(device) optimizer = optim.Adam(mainQN.parameters(), lr=learning_rate) mainQN, optimizer = amp.initialize(mainQN, optimizer, opt_level="O1")#-------------- criterion = nn.MSELoss() targetQN = mainQN targetQN.eval()
--------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) <ipython-input-1-6a1a39906bca> in <module> 402 total_reward_vec = np.hstack((total_reward_vec[1:], episode_reward)) # 報酬を記録 403 if batch_size<len(memory.buffer*4): --> 404 memory_TDerror.update_TDerror(gamma,multireward_steps) 405 for _ in range(t): 406 trin.pioritized_experience_replay(batch_size, gamma,step=episode,state_size=state_,action_size=acthon,multireward_steps=multireward_steps) <ipython-input-1-6a1a39906bca> in update_TDerror(self, gamma, multireward_steps) 305 next_state=memory.buffer[i][0] 306 target = memory.buffer[i][2] + (gamma**multireward_steps) * targetQN.forward(next_state,"net_v")[0] --> 307 self.buffer[i] =target - mainQN.forward(inpp,"net_q")[0] 308 309 <ipython-input-1-6a1a39906bca> in forward(self, inputs, net) 197 L = L * \ 198 self.tril_mask.expand_as( --> 199 L) + torch.exp(L) * self.diag_mask.expand_as(L) 200 P = torch.bmm(L, L.transpose(2, 1)) 201 ~\Anaconda3\envs\pyflan\lib\site-packages\apex\amp\wrap.py in wrapper(*args, **kwargs) 56 args, 57 kwargs) ---> 58 return orig_fn(*new_args, **kwargs) 59 else: 60 raise NotImplementedError('Do not know how to handle ' + RuntimeError: expected device cuda:0 but got device cpu

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

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

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

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

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

guest

回答1

0

自己解決

しつもんしなおします

投稿2020/06/07 00:42

Flan.

総合スコア123

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問