[解決済み] リストを配列に変換できない。ValueError: Pythonのスカラーに変換できるのは1要素のテンソルだけです。
質問
現在、PyTorchフレームワークを使用して、外国のコードを理解しようとしています。私はインデックスの問題に直面し、リストの形状を表示したいと思いました。
Googleが教えてくれる限りでは、リストをnumpyの配列に変換して、numpy.ndarray.shape()で形状を取得する方法しかないそうです。
しかし、リストを配列に変換しようとすると
ValueError: only one element tensors can be converted to Python scalars
.
私のリストは、変換された PyTorch Tensor (
list(pytorchTensor)
のようなものである。
[テンソル([[-0.2781, -0.2567, -0.2353, ..., -0.9640, -0.9855, -1.0069]],
[-0.2781, -0.2567, -0.2353, ..., -1.0069, -1.0283, -1.0927],
[-0.2567, -0.2567, -0.2138, ..., -1.0712, -1.1141, -1.1784],
...,
[-0.6640, -0.6425, -0.6211, ..., -1.0712, -1.1141, -1.0927],
[-0.6640, -0.6425, -0.5997, ..., -0.9426, -0.9640, -0.9640],
0.6640, -0.6425, -0.5997, ..., -0.9640, -0.9426, -0.9426]]), tensor([[-0.0769, -0.0980, -0.076 9, ..., -0.9388, -0.9598, -0.9808], [-0.9426], [-0.9426], -0.5997, ...,-0.0.1]・・・・。
[-0.0559, -0.0769, -0.0980, ..., -0.9598, -1.0018, -1.0228],
[-0.0559, -0.0769, -0.0769, ..., -1.0228, -1.0439, -1.0859],
...,
[-0.4973, -0.4973, -0.4973, ..., -1.0018, -1.0439, -1.0228],
[-0.4973, -0.4973, -0.4973, ..., -0.8757, -0.9177, -0.9177],
[0.4973, -0.4973, -0.4973, ..., -0.9177, -0.8967, -0.8967]]), tensor([[-0.1313, -0.1313, -0.110 0, ..., -0.8115, -0.8328, -0.8753], -0.1313, -0.1314, -0.110 0, ...,-0.8115, -0.8327], -0.8327]), -0.4973, -0.144, -1.0, -1.0, -1.0
[-0.1313, -0.1525, -0.1313, ..., -0.8541, -0.8966, -0.9391],
[-0.1100, -0.1313, -0.1100, ..., -0.9391, -0.9816, -1.0666],
...,
[-0.4502, -0.4714, -0.4502, ..., -0.8966, -0.8966, -0.8966],
[-0.4502, -0.4714, -0.4502, ..., -0.8115, -0.8115, -0.7903],
[-0.4502, -0.4714, -0.4502, ..., -0.8115, -0.7690, -0.7690]])]
そのリストの形状をnumpyの配列に変換せずに取得する方法はないでしょうか?
どのように解決するのですか?
テンソルのリストがあるようですね。それぞれのテンソルに対して、その
size()
(list/numpyに変換する必要はない)。どうしてもというなら、テンソルをnumpyの配列に変換するために
numpy()
:
テンソル形状のリストを返す。
>> [t.size() for t in my_list_of_tensors]
numpy配列のリストを返します。
>> [t.numpy() for t in my_list_of_tensors]
性能の面では、テンソルのnumpy配列へのキャストは、デバイス/ホストメモリの同期が発生する可能性があるため、常に避けるのが最善です。もし
shape
を使用することで、テンソルの
size()
関数を使用します。
関連
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み] データ型が理解できない
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み] リストを反転させるには?
-
[解決済み] ローカルにインストールされたPythonモジュールの一覧を取得するにはどうしたらいいですか?
-
[解決済み] DjangoとPythonを使ったJSONレスポンスの作成
-
[解決済み] NumPyで空の配列/行列を作成する方法は?
-
[解決済み】pandasでカラムの種類を変更する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
Pythonコンテナのための組み込み汎用関数操作
-
PythonでECDSAを実装する方法 知っていますか?
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
-
[解決済み】torch.stack()とtorch.cat()関数の違いとは?