我想知道如何将我的数据,一组1000个数值特征,格式化为我的1D CNN能够接受的形状。这里有一张我的数据集的图片(它是以数据框格式呈现的 – 1000列,9923行),我的CNN的第一层将类似于
model.add(Conv1D(64,3, activation ='relu', input_shape= (1000, 1)))
回答:
该层的输入形状为(1000,1)。这意味着该层接受任何形状为(*,1)的输入。因此,输入的最后一个维度应为1。你可以像下面的例子一样重塑你的数据。
import tensorflow as tfimport numpy as npdata=tf.Variable(np.random.random((9923,1000)),dtype=tf.float32) #你的数据形状为(9923,1000)#print(data)data=tf.reshape(data,(9923,1000,1)) #重塑数据#print(data)conv1d=tf.keras.layers.Conv1D(64,3, activation ='relu', input_shape= (1000, 1)) #该层接受任何形状为(*,1)的输入。#这意味着最后一个维度应为1cnn_data=conv1d(data) #输出cnn_data的形状为(9923,998,64)