Python 索引243超出大小为10的轴1的界限

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

我得到一个错误“索引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.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)
,才能正常工作。