tf.convert_to_tensorを使用したときの値のエラーの解決方法
2022-02-20 12:46:06
問題の説明
最近、PILを使って画像を読み込んでnumpyの配列として保存し、リストを使って一括でデータを作成する、つまりリストの要素を配列にするtensorflowプログラムを書いたが、このリストをtensorに変換するときに次のような問題が発生した。
.... -got shape [64, 224, 224, 3], but wanted [64].
機能説明
convert_to_tensor(
value,
dtype=None,
name=None,
preferred_dtype=None
)
この関数の値は、Tensorオブジェクト、numpy配列、Pythonリスト、Pythonスカラーなどの引数を取ります。
探索する
こんな簡単な機能が、どうしてうまくいかないの?
公式マニュアル
は、考えられるエラーとして、ランタイムエラーとタイプエラーの両方を挙げていますが、どちらも外れているようです。
つまり、このリストと配列のマッシュアップがうまくテンソルに変換されないと疑えばいいだけだ。先のエラーから、プログラムは、リストの要素が64個だから1次元の [64] が欲しいと思ったが、実際の結果は4次元であることがわかるだろう。
の実験
シェルでテストする
python
>>>import tensorflow as tf
>>>import numpy as np
>>>a=np.numpy([1,2,3])
>>>b=[a]
>>>c=tf.convert_to_tensor(b)
その後、同じエラーが発生しました。
ValueError: Argument must be a dense tensor: [array([1,2,3])]- got shape [1,3], but wanted [1].
解決方法
原因がわかれば、リスト+配列を純粋なリストまたは純粋な配列に変換することで解決できます。
私は後者で、強制的に変換して使っています。
>>>b=np.array(b)
>>>c=tf.convert_to_tensor(b)
関連
-
[解決済み】TensorFlowで*.pbファイルを使用する方法とその動作は?
-
[解決済み】TensorFlowでtf.get_collection()を理解する方法
-
[解決済み] ModuleNotFoundError: tensorboard' という名前のモジュールはありません。
-
[解決済み] 入力パイプラインは、keras.utils.Sequenceオブジェクトまたはtf.data.Datasetを使用しますか?
-
[解決済み] tf.nn.reluの "relu "とは何の略ですか?
-
デバイスから 18.41M (19300352 bytes) の割り当てに失敗しました。CUDA_ERROR_OUT_OF_MEMORY
-
Tensorflow Error 1 AttributeError: __enter__
-
AttributeError: モジュール 'tensorflow' には 'placeholder' という属性がありません。
-
モジュール 'matplotlib' には、解決すべき属性 'configure' がありません。
-
tensorflow 学習メモ (IX): tf.shape()とtensor.get_shape()
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Tensorflowにおけるglobal_stepの意味とは?
-
tensorflowのCUDAドライババージョンがCUDAランタイムバージョンに対して不足している 問題が解決された
-
tensorflow 2.0, ニューラルネットワークス: Sinusoidal Fitting, AttributeError: モジュール 'tensorflow' has no attribute 'placeholder' エラー
-
AttributeError: モジュール 'tensorflow' には 'placeholder' という属性がないことを解決する。
-
Tensorflowは、'_pywrap_tensorflow_internal'という名前のモジュールがないことを解決する。
-
Python tensorflow ModuleNotFoundError: tensorflow.contrib'という名前のモジュールはありません。
-
Bishopの問題2: tf-pose-estimation-master, last ModuleNotFoundError: tensorflow.contrib'という名前のモジュールがありません(解決済み)。
-
tf.variable, tf.get_variable, tf.variable_scope, tf.name_scope の類似点と相違点を理解する。
-
Tensorflowのエラーです。TypeError: 'NoneType'オブジェクトは呼び出し可能ではない
-
Tensorflow reports error Attempting to use uninitialized value ***/conv2d/kernel Solve