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

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

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

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Python

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

Q&A

解決済

1回答

1254閲覧

list dequeの要素の合計を知りたい

Flan.

総合スコア123

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Python

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

0グッド

0クリップ

投稿2020/06/28 21:39

dequeはprint結果が嘘をついてなければ 一次元です
出ているエラーの意味が分かりません 単一の要素の整数ということは
np.sumはlistの要素の合計ではなく 入れた一つの数字をそのまま返すだけなんですか?

list dequeの要素の合計をだす関数はありませんか?わかる人教えてください
もしくは正しいsumの使い方がわかる人教えてください

追加してるところ #torchからnumpyに型を変えてます TD print結果[0.04558122] self.buffer.append(TD[0]) 試したコード p=memory_TDerror.buffer/np.sum(memory_TDerror.buffer) idx=np.random.choice(np.arange(len(memory_TDerror.buffer)), size=batch_size,replace=False,p=p) ただのsumでも同様のエラー
memory_TDerror.bufferのプリント結果 deque([0.048867036, 0.04883557, 0.048770107, 0.048671108, 0.04853942, 0.048376095, 0.04818251, 0.047960237, 0.0477111, 0.04743718, 0.04714063, 0.04682391, 0.046489548, 0.046140272, 0.0457788, 0.045408025, 0.045030855, 0.044650193, 0.04426902, 0.043890193, 0.043516655, 0.043151148, 0.04279647, 0.042455144, 0.042129703, 0.041822523, 0.041535787, 0.041271534, 0.041031655, 0.040817846, 0.040631555, 0.040474117, 0.040346622, 0.040249933, 0.040184755, 0.04015153, 0.0401505, 0.040181704, 0.04024497, 0.040339865, 0.040465776, 0.040621877, 0.040807124, 0.04102028, 0.041259866, 0.041524258, 0.041811615, 0.042119924, 0.042447004, 0.042790532, 0.04314801, 0.0435168, 0.043894205, 0.044277422, 0.04466352, 0.04504957, 0.045432527, 0.04580952, 0.046177484, 0.046533555, 0.046874855, 0.04719862, 0.047502182, 0.047783088, 0.04803901, 0.048267793, 0.04846752, 0.048636504, 0.04877331, 0.04887679, 0.048946057, 0.048980456, 0.048979715, 0.048943806, 0.04887302, 0.048767887, 0.048629317, 0.04845845, 0.048256636, 0.04802562, 0.04776726, 0.04748366, 0.047177166, 0.04685022, 0.046505485, 0.04614572, 0.04577385, 0.04539271, 0.04500537, 0.044614784, 0.04422401, 0.043836035, 0.043453738, 0.043080032, 0.0427177, 0.042369395, 0.042037617], maxlen=10000)
でてるエラー --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-4-f40d86d018aa> in <module> 427 multireward_steps=multireward_steps, 428 tau=tau, --> 429 mord_update=mord_update) 430 431 if done or t==max_number_of_steps - 1: <ipython-input-4-f40d86d018aa> in Double_R2D2_IQN_pioritized_Nstep_NAF_replay(self, batch_size, gamma, step, state_size, action_size, multireward_steps, tau, mord_update) 227 trin_x=list(range(batch_size)) 228 weights = torch.ones(batch_size,device='cuda:0') --> 229 p=memory_TDerror.buffer/np.sum(memory_TDerror.buffer) 230 print(memory_TDerror.buffer) 231 idx=np.random.choice(np.arange(len(memory_TDerror.buffer)), size=batch_size, ~\Anaconda3\envs\pyflan\lib\site-packages\torch\tensor.py in __rdiv__(self, other) 405 def __rdiv__(self, other): 406 if self.dtype.is_floating_point: --> 407 return self.reciprocal() * other 408 else: 409 return (self.double().reciprocal() * other).type_as(self) TypeError: only integer tensors of a single element can be converted to an index

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

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

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

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

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

jeanbiego

2020/06/28 23:55

ただのlistならnp.sumは使えます。(4.357542082と出ました) とりあえずtype(memory_TDerror.buffer)とされてみてはいかがですか。 で、質問タイトルとタグ、内容を変更したほうが有用な回答が集まるかと思います。
Flan.

2020/06/29 01:32

<class 'collections.deque'> <class 'collections.deque'> print結果 なぜか二階表示されました 一回目はうまくいってるようです
guest

回答1

0

自己解決

memory_TDerror.bufferが別のところでtensor型にかわってました

投稿2020/06/29 01:46

Flan.

総合スコア123

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問