[英]Data cardinality is ambiguous
你可以幫幫我嗎? 這是完整的代碼
ValueError:數據基數不明確:x 大小:3 y 大小:20 確保所有數組包含相同數量的樣本。
import tensorflow as tf
from keras.models import Sequential
from keras.layers import Dense
import numpy as np
import matplotlib.pyplot as plt
x_data=np.array([[1,1,1,1,1,5,5,5,5,5,1,1,1,1,1,5,5,5,5,5],
[3,5,1,3,5,1,3,5,1,3,5,1,3,5,1,3,5,1,3,5],
[1,2,3,4,5,4,3,2,1,2,3,4,5,4,3,2,1,2,3,4]])
y_data=np.array([11,6,10,6,5,19,14,14,27,15,5,9,5,5,10,15,19,21,14,12])
model=Sequential()
model.add(Dense(11,input_dim=3, activation='sigmoid'))
model.add(Dense(1,activation='sigmoid'))
sgd=tf.keras.optimizers.SGD(lr = 0.01, momentum= 0.45)
model.compile(loss='mse',optimizer=sgd,metrics=['accuracy'])
batch_size=1
epochs=500
result=model.fit(np.array(x_data),np.array(y_data), batch_size, epochs=epochs, shuffle=True, verbose=0)
result.history.keys()
plt.plot(result.history['loss'])
數據基數錯誤是由於x_data.shape
和y_data.shape
不匹配。
您可以通過在使用以下代碼將x_data
形狀提供給模型之前對其進行整形來修復此錯誤。
x_data = x_data.reshape(x_data.shape[1],x_data.shape[0])
x_data.shape # Output: (20, 3)
請檢查此固定代碼:
import tensorflow as tf
from keras.models import Sequential
from keras.layers import Dense
import numpy as np
import matplotlib.pyplot as plt
x_data=np.array([[1,1,1,1,1,5,5,5,5,5,1,1,1,1,1,5,5,5,5,5],
[3,5,1,3,5,1,3,5,1,3,5,1,3,5,1,3,5,1,3,5],
[1,2,3,4,5,4,3,2,1,2,3,4,5,4,3,2,1,2,3,4]])
x_data.shape # (3, 20)
y_data=np.array([11,6,10,6,5,19,14,14,27,15,5,9,5,5,10,15,19,21,14,12])
y_data.shape # (20,)
x_data = x_data.reshape(x_data.shape[1],x_data.shape[0])
x_data.shape # (20, 3)
model=Sequential()
model.add(Dense(16, activation='relu'))
model.add(Dense(1,activation='sigmoid'))
sgd=tf.keras.optimizers.SGD(learning_rate = 0.01, momentum= 0.45)
model.compile(loss='mse',optimizer=sgd,metrics=['accuracy'])
batch_size=1
epochs=500
result=model.fit(x_data,y_data, batch_size, epochs=epochs, shuffle=True, verbose=0)
result.history.keys()
plt.plot(result.history['loss'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.