Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Keras最简单的神经网络模型:带有指数的training.py中的错误_Python_Tensorflow_Neural Network_Keras_Mnist - Fatal编程技术网

Python Keras最简单的神经网络模型:带有指数的training.py中的错误

Python Keras最简单的神经网络模型:带有指数的training.py中的错误,python,tensorflow,neural-network,keras,mnist,Python,Tensorflow,Neural Network,Keras,Mnist,我已经阅读了这个例子,并决定在我的基础上使用这个想法,因为这是Keras最简单的NN 这是我的基地 (你可以下载我的csv文件,它只有83Kb) 这是我的底图: base.shape=(891,23) 输出: X_列车=(891,22) y_列=(891,) 输出: 22列车样本 22个测试样本 y_train = keras.utils.to_categorical(y_train, num_classes) y_test = keras.utils.to_categorical(y_tes

我已经阅读了这个例子,并决定在我的基础上使用这个想法,因为这是Keras最简单的NN

这是我的基地 (你可以下载我的csv文件,它只有83Kb)

这是我的底图:

base.shape=(891,23)

输出: X_列车=(891,22) y_列=(891,)

输出: 22列车样本 22个测试样本

y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)

model = Sequential()
model.add(Dense(40, activation='relu', input_shape=(21,)))
model.add(Dropout(0.2))
#model.add(Dense(20, activation='relu'))
#odel.add(Dropout(0.2))
model.add(Dense(2, activation='sigmoid'))

model.summary()
输出:

图层(类型)输出形状参数 密集型_1(密集型)(无,40)880


辍学1(辍学)(无,40)0


密集型_2(密集型)(无,2)82

model.compile(loss='binary_crossentropy',
          optimizer=Adam(),
          metrics=['accuracy'])

plot_model(model, to_file='model.png')

SVG(model_to_dot(model).create(prog='dot', format='svg'))

print("X_train.shape=", X_train.shape)
print("X_test=",X_test.shape)

history = model.fit(X_train, y_train,
                batch_size=batch_size,
                epochs=epochs,
                verbose=1,
                validation_data=(X_test, y_test))
回溯(最近一次呼叫最后一次): 文件“new.py”,第67行,在 验证数据=(X_检验,y_检验)

文件“miniconda3/lib/python3.6/site packages/keras/models.py”,第845行 初始_历元=初始_历元)

文件“miniconda3/lib/python3.6/site-packages/keras/engine/training.py”,第1405行,适合 批次大小=批次大小)

文件“miniconda3/lib/python3.6/site packages/keras/engine/training.py”,第1295行,在用户数据中 异常(前缀为“模型输入”)

文件“miniconda3/lib/python3.6/site packages/keras/engine/training.py”,第133行,输入数据 str(array.shape))

ValueError:检查模型输入时出错:预期密集_1_输入具有形状(无,21),但获得具有形状(623,22)的数组 [在5.1s内完成,退出代码为1]

如何解决此错误?我尝试将输入形状更改为(20,)或(22,)等,但没有成功。

例如,如果input_shape=(22,)我有一个错误:文件“miniconda3/lib/python3.6/site packages/pandas/core/index.py”,第1873行,在maybe_convert_索引中
raise INDEXEROR(“索引超出范围”)

input\u shape
应与数据中的要素数量相同,并且在您的情况下应为
input\u shape=(22,)

索引器
是由于pandas dataframe中的某些不同索引造成的,因此请使用
as_matrix()
将数据帧转换为numpy矩阵:


你能打印
y\u测试
的形状吗?y\u train.shape(623,2)y\u test.shape(268,2)和
X\u测试
shape?X\u test.shape(268,22)X\u train.shape(623,22)吗
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)

model = Sequential()
model.add(Dense(40, activation='relu', input_shape=(21,)))
model.add(Dropout(0.2))
#model.add(Dense(20, activation='relu'))
#odel.add(Dropout(0.2))
model.add(Dense(2, activation='sigmoid'))

model.summary()
model.compile(loss='binary_crossentropy',
          optimizer=Adam(),
          metrics=['accuracy'])

plot_model(model, to_file='model.png')

SVG(model_to_dot(model).create(prog='dot', format='svg'))

print("X_train.shape=", X_train.shape)
print("X_test=",X_test.shape)

history = model.fit(X_train, y_train,
                batch_size=batch_size,
                epochs=epochs,
                verbose=1,
                validation_data=(X_test, y_test))
history = model.fit(X_train.as_matrix(), y_train,
            batch_size=batch_size,
            epochs=epochs,
            verbose=1,
            validation_data=(X_test.as_matrix(), y_test))