我正在尝试使用 Keras 实现神经网络。我的错误如下:
Posted
技术标签:
【中文标题】我正在尝试使用 Keras 实现神经网络。我的错误如下:【英文标题】:I am trying to implement a neural network using Keras. My error is listed below: 【发布时间】:2021-05-16 17:47:43 【问题描述】:错误:层序号_9 的输入 0 与层不兼容:输入形状的预期轴 -1 具有值 2,但接收到形状为 (25, 1) 的输入
输入条件:随机两组数据集,每组有50个数据模式,二维x1和x2。一个数据集有 0
以下是我的代码:
import tensorflow as tf
import numpy as np
import random
from tensorflow import keras
from keras.models import Sequential
from keras.layers import Dense
model = tf.keras.Sequential([keras.layers.Dense(units=4, input_shape=[2])])
model.add(Dense(units= 3, activation='relu'))
model.add(Dense(units= 1, activation='sigmoid'))
model.compile(optimizer='sgd', loss='mean_squared_error')
x1 = list(np.random.uniform(0,3,50))
x2 = list(np.random.uniform(0,3,50))
labels = [0 for i in range(50)] #target is set to 0
#concatenating the list with tother condition of <6<=9
x1 = x1+ list(np.random.uniform(6,9,50)) #Plotting the points between 6 to 9 and putting 50 random points
x2 += list(np.random.uniform(6,9,50))
labels += [1 for i in range(50)]
x = np.append(x1, x2, axis= -1)
print (x)
x_train = np.array(x, dtype='float64')
tr = np.array(t, dtype='float64'
)
我也尝试过其他可能的语法:
x1 = []
x2 = []
t = []
for i in range(50):
x1.append(random.uniform(0,3))
x2.append(random.uniform(0,3))
for i in range(50):
x1.append(random.uniform(6,9))
x2.append(random.uniform(6,9))
for i in range(50):
t.append(0)
for i in range(50):
t.append(1)
x1 = np.random.uniform([0,3,size=(50,2))
x2 = np.random.uniform([6,9,size=(50,2))
它在最后一行显示错误,即 (model.fit) 行。
【问题讨论】:
我很困惑,你没有 model.fit() 行。我没有看到 .fit() 在任何地方被调用。 【参考方案1】:我有很多不明白的地方。你没有 .fit() 行,所以我不知道你在问什么。您反复创建数组,然后覆盖它们。您还有几个未使用的变量(为什么?)。最后你从 keras 和 tensorflow.keras 导入,它们是完全独立的包。这是我认为您正在尝试做的尝试:
import tensorflow as tf, numpy as np
#Data
X = np.random.random((10_000,2)) #10_000 2-unit vectors.
Y = np.random.random((10_000,)) #10_000 numbers.
#Model
model = tf.keras.Sequential([
tf.keras.layers.Dense(4),
tf.keras.layers.Dense(3,'relu'),
tf.keras.layers.Dense(1,'sigmoid'),
])
model.compile('sgd','mse')
#Training
model.fit(X,Y,256,10)
【讨论】:
以上是关于我正在尝试使用 Keras 实现神经网络。我的错误如下:的主要内容,如果未能解决你的问题,请参考以下文章
直方图频率激活时的 Keras Tensorboard 错误