![](/img/trans.png)
[英]ValueError: x and y must have same first dimension, but have shapes (1, 2) and (2,)
[英]ValueError: x and y must have same first dimension, but have shapes (6,) and (8,)
我一直在按照此 web 應用程序進行植物病害檢測的分步教程進行操作,這部分有一個錯誤,它應該顯示折線圖,但第 3 行有一個錯誤,上面寫着“ValueError: x and y must具有相同的第一個維度,但具有形狀(6,)和(8,)“我希望有人可以幫助我解決這個問題,謝謝你我只是編碼的初學者,所以這對我有很大的幫助。
n = 6
plt.figure(figsize=(8,5))
plt.plot(np.arange(1, n + 1),history.history['loss'], label = 'train_loss')
plt.plot(np.arange(1,n + 1), history.history['val_loss'], label = 'val_loss')
plt.plot(np.arange(1,n + 1), history.history['val_accuracy'], label = 'val_accuracy')
plt.grid(True)
plt.legend(loc = "best")
plt.savefig('/content/drive/My Drive/PlantDRecognition/performance.jpg')
plt.show()
問題是history.history['loss']
和n
的長度不相等。
實際上, matplotlib.pyplot.plot(x, y)的x
值是可選的,默認為range(len(y))
。 你只需要
plt.plot(history.history['loss'], label = 'train_loss')
plt.plot(history.history['val_loss'], label = 'val_loss')
plt.plot(history.history['val_accuracy'], label = 'val_accuracy')
如果您希望x
以 1 開頭,
plt.plot(range(1, len(history.history['loss'])+1), history.history['loss'], label = 'train_loss')
plt.plot(range(1, len(history.history['val_loss'])+1), history.history['val_loss'], label = 'val_loss')
plt.plot(range(1, len(history.history['val_accuracy'])+1), history.history['val_accuracy'], label = 'val_accuracy')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.