1. ホーム

TensorFlowのエラー ValueError: xとyは同じサイズでなければならない

2022-02-20 19:58:54

TensorFlowの学習過程で、グラフを描こうとmatplotlibライブラリを呼び出したところ、ValueError: x and y must be same sizeのエラーが発生しました。

ソースコードを見ると以下のようになっています。

tfとしてtensorflowをインポートする
plt として matplotlib.pyplot をインポートします。
numpy を np としてインポートする
x=[float(1) for x in range(2)
y=[float(2) for x in range(2)
x_data=np.linspace(-1,1,300,dtype='float32')[:,np.newaxis] のようになります。
noise=np.random.normal(0,0.05,x_data.shape)とする。
y_data=tf.square(x_data)-0.5+noise
fig =plt.figure()
ax=fig.add_subplot(1,1,1)
ax.scatter(x_data,y_data)を実行する。
plt.show()

エラーが発生しました。

raise ValueError("x と y は同じサイズでなければならない")
ValueError: xとyは同じサイズでなければならない

解決策

y_data=tf.square(x_data)-0.5+noise を numpy の open square に置き換えます。

すなわち、y_data=np.square(x_data)-0.5+noiseです。

理由 次の行のステートメントを実行すると、テンソルはサイズプロパティを持たないが、x_data のサイズは出力できることがわかる

print(x_data.size,y_data.size)を実行します。
AttributeError: 'Tensor' オブジェクトには 'size' という属性がありません。