【发布时间】:2021-01-21 23:01:14
【问题描述】:
我想在这里使用一个 NN:
model = keras.models.Sequential([
keras.layers.Conv2d(64, 7, activation="relu", padding="same",
input_shape = [40, 40, 1]),
keras.layers.MaxPooling2D(2),
keras.layers.Conv2D(128, 3, activation="relu", padding="same"),
keras.layers.Conv2D(128, 3, activation="relu", padding="same"),
keras.layers.MaxPooling2D(2),
keras.layers.Conv2D(256, 3, activation="relu", padding="same"),
keras.layers.Conv2D(256, 3, activation="relu", padding="same"),
keras.layers.MaxPooling2D(2),
keras.layers.Flatten(),
keras.layers.Dense(128, activation="relu"),
keras.layers.Dropout(0.5)
keras.layers.Dense(64, activation="relu"),
keras.layers.Dropout(0.5)
keras.layers.Dense(8, activation="softmax")
])
但我不确定如何为其设置训练/测试拆分。我有一个带有列的数据框:
df['matrices']
df['class']
有 25k 个实例,即 25k 个矩阵,然后是 8 个“类型”的矩阵,当作为图像查看时,矩阵的元素会创建不同类型的形状。每个矩阵在“类”列中都有其对应的类型索引。每个都是 uint8 类型的 40x40 矩阵数组,没有深度。矩阵的所有元素都是 0、1 或 2。
所以 NN 的输入形状正确地是 40x40x1,但我现在不知道如何使用我拥有的信息围绕它进行设置。
【问题讨论】:
标签: python conv-neural-network