我试图训练一个二元分类的深度学习网络,但是当我想要拟合模型时,我有一些错误取决于输入数据。 当我使用包含一些列表的列表时,我得到以下信息:
ValueError: `validation_split` is only supported for Tensors or NumPy arrays, found following types in the input: [<class 'float'>, <class 'float'>, <class 'float'>, <class 'float'>,...
以下是我的一些输入数据:
[[0.6136568,
0.84256226,
....
-0.8160665,
-0.73415625],
[0.14178441,
-0.011213281,
....
0.1529382,
0.1492072],
[-0.6528975,
-0.5710656999999999,
.....
为了解决此错误,我尝试将列表转换为数组,但现在出现以下错误:
ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type list).
以下是我的一些输入数据:
array([list([0.6136568, .... , -0.8160665, -0.73415625]),
list([0.14178441, ....., 0.1492072]), ....
这是我的密码:
def getRawData(x_data,y_data,dataset,label,window_size):
for i in range(0,dataset.size,window_size):
x_data.append(dataset.iloc[i:i+window_size,].to_list())
y_data.append(label)
x=[]
y=[]
getRawData(x,y,ds1,0,45)
getRawData(x,y,ds2,1,45)
getRawData(x,y,ds3,0,45)
getRawData(x,y,ds4,1,45)
num_units=64
learning_rate = 0.0001
activation_function = 'relu'
adam = Adam(lr=learning_rate)
loss_function = 'binary_crossentropy'
batch_size = 20
num_epochs = 300
model = Sequential()
model.add(LSTM(units = num_units,activation=activation_function,input_shape=(None,1)))
model.add(LeakyReLU(alpha=0.5))
model.add(Dropout(0.1))
model.add(Dense(units = 1))
model.compile(optimizer=adam, loss=loss_function,metrics=['accuracy'])
history = model.fit(
x,
y,
validation_split=0.1,
batch_size=batch_size,
epochs=num_epochs,
shuffle=False
)
有什么问题?正确的输入格式是什么
感谢@bruck1701,我阅读了convert-to-tensor文档,发现了问题所在 问题是转换为同维不同长度的张量不能转换数组,我只是在getRawData函数中犯了一个错误
相关问题 更多 >
编程相关推荐