在keras中训练1D-conv模型
我试着简单的训练!keras中的D conv模型。我在excel文件中有1D数据。我是第一个 用python读取数据。然后我正在制作培训数据集python。然后我就把桌子劈开了 将数据集转换为训练和测试数据集。但当我训练简单!D con模型,我得到了 错误如下所示。请指导我如何解决这个问题在keras中训练1D-conv模型,keras,conv-neural-network,Keras,Conv Neural Network,我试着简单的训练!keras中的D conv模型。我在excel文件中有1D数据。我是第一个 用python读取数据。然后我正在制作培训数据集python。然后我就把桌子劈开了 将数据集转换为训练和测试数据集。但当我训练简单!D con模型,我得到了 错误如下所示。请指导我如何解决这个问题 training_data = [] def create_training_data(): for label in labels: dir_path = os.path
training_data = []
def create_training_data():
for label in labels:
dir_path = os.path.join(path_dir, label)
class_num = labels.index(label)
file_list = os.listdir(dir_path)
for file_name in file_list:
img_path = os.path.join(dir_path, file_name)
dir_split = dir_path.split('\\')
training_data.append([img_path, class_num])
create_training_data()
print(len(training_data))
import random
random.shuffle(training_data)
for sample in training_data[:10]:
print(sample[1])
X = []
Y = []
for features, classes in training_data:
X.append(features)
Y.append(classes)
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, random_state=42)
len(y_test)
import numpy as np
#inp = np.array(X_train)
#print(inp.shape)
kernel_size = 3
x = Conv1D(filters=32, kernel_size=kernel_size, activation="relu")(inp)
x = MaxPooling1D(2)(x)
x = Conv1D(filters=32, kernel_size=kernel_size, activation='relu')(x)
x = MaxPooling1D(2)(x)
x = Conv1D(filters=64, kernel_size=kernel_size, activation='relu')(x)
x = MaxPooling1D(2)(x)
x = Conv1D(filters=64, kernel_size=kernel_size, activation='relu')(x)
x = MaxPooling1D(2)(x)
x = Flatten()(x)
x = Dense(4, activation="softmax")(x)
return Model(inputs=inp, outputs=x)
我得到以下错误:
层的所有输入都应该是张量
如何解决这个问题。inp需要是一个输入层(keras.layers.input)inp需要是一个输入层(keras.layers.input)