- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我读过这个例子https://github.com/fchollet/keras/blob/master/examples/mnist_mlp.py并决定将这个想法用于我的基础,因为这是 Keras 最简单的神经网络。
这是我的基地https://drive.google.com/file/d/0B-B3QUQOzGZ7WVhzQmRsOTB0eFE/view(你可以下载我的csv文件,只有83Kb)
base.shape = (891, 23)
import keras
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.optimizers import RMSprop, Adam
import numpy as np
import pandas as pd
from sklearn.cross_validation import train_test_split
from keras.utils.vis_utils import model_to_dot
from IPython.display import SVG
from keras.utils import plot_model
base = pd.read_csv("mt.csv")
import pandas as pd
for col in base:
if col != "Fare" and col != "Age":
base[col]=base[col].astype(float)
X_train = base
y_train = base["Survived"]
del X_train["Survived"]
print("X_train=",X_train.shape)
print("y_train=", y_train.shape)
输出:X_train= (891, 22)y_train= (891,)
from sklearn.cross_validation import train_test_split
X_train, X_test , y_train, y_test = train_test_split(X_train, y_train, test_size=0.3, random_state=42)
batch_size = 4
num_classes = 2
epochs = 2
print(X_train.shape[1], 'train samples')
print(X_test.shape[1], 'test samples')
输出: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()
输出:
dense_1(密集)(无,40)880
dropout_1(辍学)(无,40)0
dense_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 行,位于 validation_data=(X_test, y_test))
文件“miniconda3/lib/python3.6/site-packages/keras/models.py”,第 845 行,适合 initial_epoch=initial_epoch)
文件“miniconda3/lib/python3.6/site-packages/keras/engine/training.py”,第 1405 行,适合 batch_size=batch_size)
文件“miniconda3/lib/python3.6/site-packages/keras/engine/training.py”,第 1295 行,在 _standardize_user_data 中 exception_prefix='模型输入')
文件“miniconda3/lib/python3.6/site-packages/keras/engine/training.py”,第 133 行,在 _standardize_input_data 中 str(array.shape))
ValueError:检查模型输入时出错:预期 dense_1_input 的形状为 (None, 21) 但得到的数组形状为 (623, 22)[在 5.1 秒内完成,退出代码为 1]
我该如何解决这个错误?我尝试更改输入形状,例如,更改为 (20,) 或 (22,) 等。但没有成功。
例如,如果 input_shape=(22,) 我有错误:文件“miniconda3/lib/python3.6/site-packages/pandas/core/indexing.py”,第 1873 行,在 maybe_convert_indices raise IndexError("索引越界")
最佳答案
input_shape
应与数据中的特征数量相同,在您的情况下应为 input_shape=(22,)
。
IndexError
是由于 pandas dataframe 中的一些不同索引引起的,因此使用 as_matrix()
将您的 dataframe 转换为 numpy 矩阵:
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))
关于python - Keras 最简单的 NN 模型 : error in training. py with indices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43293832/
在 Vim 中,我打开了一个基本结构如下的文件: 3677137 00:01:47.04 666239 00:12:57.86 4346 00:00:01.77 418 00:00:0
我正在尝试构建一个正则表达式来处理以字符串形式呈现给我的数据类型,有两种可能的格式: 字符串[nmin..nmax] 字符串[nmax] 其中 nmin 和 nmax 是一些数字。 我构建了适合我的正
我尝试按照 tensorflow 教程实现 MNIST CNN 神经网络,并找到这些实现 softmax 交叉熵的方法给出了不同的结果: (1) 不好的结果 softmax = tf.nn.softm
我是 Pytorch 的新手,我不太了解的一件事是 nn.ModuleList 的用法。和 nn.Sequential .我能知道什么时候应该使用一个而不是另一个吗?谢谢。 最佳答案 nn.Modul
我不明白当数据为 3D 时 BatchNorm1d 如何工作(批量大小、H、W)。 示例 输入大小:(2,50,70) 图层:nn.Linear(70,20) 输出大小:(2,50,20) 如果我随后
我浏览了chapter 7 NLTK 书中的内容正在寻找解决方案,但到目前为止我还不清楚。 *表示 0 个或多个名词 *正如书中所解释的,意思是0个或多个任何类型的名词 NLTK 中是 NN , NN
:nn.MaxPool2d(kernel_size, stride) 和 nn.function.max_pool2d(t, kernel_size, stride) 之间有什么区别? 我在模块中定义
我正在使用 Hadoop 2.6.0-cdh5.6.0。我已经配置了 HA。我显示了事件(NN1)和备用名称节点(NN2)。现在,当我向事件名称节点(NN1)发出终止信号时,备用名称节点(NN2)不会
Pytorch 中的许多损失函数都在 nn.modules.loss 和 nn.functional 中实现。 例如,下面的两行返回相同的结果。 import torch.nn as nn impor
我已阅读 docs of both functions ,但据我所知,对于函数 tf.nn.softmax_cross_entropy_with_logits(logits, labels, dim=
当我尝试比较 tf.nn.fused_batch_norm 的方差输出和 tf.nn.moments 的方差输出时,对于相同的输入,我没有相同的值。 import numpy as np import
当我尝试比较 tf.nn.fused_batch_norm 的方差输出和 tf.nn.moments 的方差输出时,对于相同的输入,我没有相同的值。 import numpy as np import
这个问题在这里已经有了答案: Are there any computational efficiency differences between nn.functional() Vs nn.seq
我有一个简单的 Java 客户端,可以将文件保存到 HDFS - 配置了 1 个名称节点。为此,我使用 hadoop 配置,指定默认文件系统,如: org.apache.hadoop.conf.Con
我将此 varchar 格式作为时间累积,我想将其转换为整数以执行 SUM 并获得一组的总时间。第一部分可以是1、2、3、4甚至5位数字,代表小时数的累加,然后用冒号隔开。然后是第二部分,即分钟的累积
在 pytorch 0.4.0 版本中,有一个 nn.LayerNorm模块。 我想在我的 LSTM 网络中实现这一层,尽管我在 LSTM 网络上找不到任何实现示例。 pytorch 贡献者暗示这 n
以下是使用 PyTorch 中的 nn.functional() 模块的前馈网络 import torch.nn as nn import torch.nn.functional as F class
对于住宿实体,我们有两列可以为空:CollectionType和 AccommodationUnitType . 但是我注意到在数据中它们被设置为零而不是空,导致 NHibernate 尝试查找 id
我只需要分块那些只有那种模式的短语,而不是再分块一次。我在 Python 中使用 NLTK 库 完成了它,但不起作用 import nltk import re document="they run
例如,如果我有以下模型类: class MyTestModel(nn.Module): def __init__(self): super(MyTestModel, self)
我是一名优秀的程序员,十分优秀!