Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Keras Conv1d输入形状_Python_Multidimensional Array_Keras_Conv Neural Network - Fatal编程技术网

Python Keras Conv1d输入形状

Python Keras Conv1d输入形状,python,multidimensional-array,keras,conv-neural-network,Python,Multidimensional Array,Keras,Conv Neural Network,我有这些代码行,我正试图建立一个cnn,用于cwru数据集的轴承故障检测。对于第一个conv1d层的输入形状,我得到以下错误: ValueError:检查输入时出错:预期conv1d\U 16\U输入为 有3个维度,但得到了形状为(10000,1)的数组 你能帮忙吗?输入_形状应该是什么 这是我的密码: #第一部分——数据预处理----- 进口干酪 导入scipy.io 将numpy作为np导入 作为腌菜进口cPickle T=100#每个样品的长度 长度=50#重叠 datalength=50

我有这些代码行,我正试图建立一个cnn,用于cwru数据集的轴承故障检测。对于第一个conv1d层的输入形状,我得到以下错误:

ValueError:检查输入时出错:预期conv1d\U 16\U输入为 有3个维度,但得到了形状为(10000,1)的数组

你能帮忙吗?输入_形状应该是什么

这是我的密码:

#第一部分——数据预处理-----
进口干酪
导入scipy.io
将numpy作为np导入
作为腌菜进口cPickle
T=100#每个样品的长度
长度=50#重叠
datalength=50#每个负载的样本
def读取数据(str、str2、T、长度、数据长度):
mat=scipy.io.loadmat(str_uu2;)
数据=材料['X'+str2+'U DE_时间']
数据列表=列表([])
count=(data.shape[0]-T)//长度
对于范围内的i(计数):
data_list.append(数据[i*length:i*length+T,:])
数据=np.数组(数据列表)。重塑(-1,T))
打印数据集的str2+'->示例:{}。格式(data.shape[0])
返回数据
打印“读取正常数据”
normal0=读取数据('/home/ilias/Desktop/dataset/sygkekrimena/97.mat','097',T,length,datalength)
打印“读取12K故障数据”
fault0=读取数据('/home/ilias/Desktop/dataset/sygkekrimena/105.mat','105',T,length,datalength)
normal\u trainmoy=np.concatenate((normal0[:datalength,:]),axis=None)
normal_testmou=np.concatenate((normal0[datalength:2*datalength,:]),axis=None)
正常序列=np。连接((正常0[:数据长度,:]),轴=0)
normal_test=np.concatenate((normal0[datalength:2*datalength,:]),axis=0)
fault_train=np.连接((fault0[:datalength,:]),轴=0)
fault_test=np.concatenate((fault0[datalength:2*datalength,:]),axis=0)
fault_trainmou=np.concatenate((fault0[:datalength,:]),axis=None)
fault_testmou=np.concatenate((fault0[datalength:2*datalength,:])#默认情况下,axis=None和de-grafei-tipota
#创建培训数据
列X=np.连接(正常列、故障列),轴=0)
列车X=np.重塑(列车X,1,1)
列_X1=np。展开_dims(列_X,轴=1)#轴=2
串接(正常串、故障串),轴=无)
序列Y=np.连接((np.一个(4*数据长度),2*np.一个(4*数据长度),3*np.一个(4*数据长度)\
4*np.ONE(4*datalength)、5*np.ONE(4*datalength)、6*np.ONE(4*datalength)\
7*np.ONE(4*datalength)、8*np.ONE(4*datalength)、9*np.ONE(4*datalength)\
10*np.ONE(4*datalength)、11*np.ONE(4*datalength)、12*np.ONE(4*datalength)\
13*np.ONE(4*datalength)、14*np.ONE(4*datalength)、15*np.ONE(4*datalength)\
16*np.ones(4*datalength)),轴=0)#
打印'\n\n训练数据的形状为{},{}'。格式(train_X.shape,train_Y.shape)
#创建测试数据
测试X=np。连接((正常测试、故障测试),轴=0)
测试Y=列车Y
打印'\n\n测试数据的图形为{}{}'。格式(test_X.shape,test_Y.shape)
打印“带培训数据的酸洗文件”
f=打开('data_train.p'、'wb')
酸洗倾倒((X列、Y列)、f列)
f、 关闭()
打印“带有测试数据的酸洗文件”
f=开放('data_test.p'、'wb')
pickle.dump((测试X,测试Y),f)
f、 关闭()
#第二部分——建设有线电视新闻网-----
#1.图书馆
从keras.models导入顺序
从keras.layers导入卷积1d
从keras.layers导入MaxPoolig1d
从keras.layers导入展平##展平xreiazomai????????
从keras.layers导入批处理规范化
从keras.layers导入稠密
从keras.layers导入输入
#CNN的体系结构
分类器=顺序()
#步骤1-卷积1
输入\层=输入(形状=序列\形状[1:])
添加(卷积1d(64,(16),activation=“relu”,input_shape=(10000,1)))35;##到输入形状poso na einai???
添加(卷积1d(64,(16),activation=“relu”,input_shape=(train_X.shape[1:]))35;##到输入形状poso na einai???
#步骤2-池1
add(maxpoolg1d(池大小=2,跨步=2))
add(BatchNormalization())
#步骤3-卷积2
添加(卷积1d(3,1,activation=“relu”)####到输入形状poso na einai???
#步骤4-池2
add(maxpoolg1d(池大小=2,跨步=2))
add(BatchNormalization())
#步骤5-卷积3
添加(卷积1d(3,1,activation=“relu”)####到输入形状poso na einai???
#步骤6-池3
add(maxpoolg1d(池大小=2,跨步=2))
add(BatchNormalization())
#步骤7-卷积4
添加(卷积1d(3,1,activation=“relu”)####到输入形状poso na einai???
#步骤8-池4
add(maxpoolg1d(池大小=2,跨步=2))
add(BatchNormalization())
#步骤9-卷积5
添加(卷积1d(3,1,activation=“relu”)####到输入形状poso na einai???
#步骤10-池5
add(maxpoolg1d(池大小=2,跨步=2))
添加(展平())
#步骤11-完全连接层
分类器.添加(密度(单位=100))#xreiazetai激活=relu?????
#步骤12-Softmax
添加(密度(单位=10,激活=“softmax”))
#编辑CNN
compile(优化器='adam',loss='categorical_crossentropy',metrics=['accurity'])
#第3部分-使CNN适合数据集
分类器.fit(序列X,序列Y,批量大小=32,历代数=25)

为什么您的输入shape=train\u X.shape[1:]但当您适合模型时,您会充分使用train\u X?此外,X列的形状是什么?
Conv1D
需要
批量大小、宽度、通道大小的3D输入。您的输入是二维输入。这就是问题所在。@Ibrahimsherifiahia这只是一个错误。我是个实验人员