Python 索引243超出大小为10的轴1的界限
我得到一个错误“索引243超出轴1的范围,大小为10”,我不知道我做错了什么。另外,我想知道线性代数和KERA是否有一个通用的指南 让我知道你们的想法Python 索引243超出大小为10的轴1的界限,python,numpy,keras,data-science,linear-algebra,Python,Numpy,Keras,Data Science,Linear Algebra,我得到一个错误“索引243超出轴1的范围,大小为10”,我不知道我做错了什么。另外,我想知道线性代数和KERA是否有一个通用的指南 让我知道你们的想法 import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from tensorflow import keras from tensorflow import keras from tensorflow.keras.m
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from tensorflow import keras
from tensorflow import keras
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten, Conv2D
img_rows, img_cols = 16, 16
num_classes = 10
image_file = "../input/pic-test/output2.csv"
image_data = np.loadtxt(image_file,skiprows=1, delimiter=',') #skiprows=1,
def prep_data(raw):
y = raw[:, 0]
out_y = keras.utils.to_categorical(y,num_classes) #num_classes
x = raw[:,1:]
num_images = raw.shape[0]
out_x = x.reshape(num_images, img_rows, img_cols,1)
out_x = out_x / 255
return out_x, out_y
x, y = prep_data(image_data)
image_model = Sequential()
image_model.add(Conv2D(12,
activation='relu',
kernel_size=3,
input_shape = (img_rows, img_cols, 1)))
image_model.add(Conv2D(20, activation='relu', kernel_size=3))
image_model.add(Conv2D(20, activation='relu', kernel_size=3))
image_model.add(Flatten())
image_model.add(Dense(100, activation='relu'))
image_model.add(Dense(10, activation='softmax'))
image_model.compile(loss='categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
image_model.fit(x, y, batch_size=100, epochs=4, validation_split=0.2)
我不知道那个错误发生在哪里。也不知道阵列的形状。在使用
numpy
数组(和Python列表)时,您需要清楚地了解您期望的形状以及实际得到的形状。别猜了,这是一张请柬num_classes
为10``y/raw`来自图像\u数据
243
是一个合理的图像像素值。to_category
是否尝试将像素值映射到类别?是否发生了错误?y.shape告诉您什么?它必须是(?,10)
,才能正常工作。