python - 仅在添加验证选项时发生错误:Numpy 数组不是模型预期的大小
问题描述
奇怪的是我得到了这个“检查模型输入错误:您传递给模型的 Numpy 数组列表不是模型预期的大小。” 仅当我添加验证数据集选项时(如果我删除此代码中的验证部分,它会起作用)。
显然,输入(据我所知)合适的验证数据形状以及训练数据集。我刚刚输入了与训练数据集完全相同形式的验证数据集。
训练/验证输入形式如下。
partial_x_train / partial_estendo / partial_y_train : (7000,1) numpy 数组 x_val / estendo_val / y_val : (3000,1) numpy 数组
我已经尝试过的(2种方式)
1)stackoverflow 中的另一篇文章建议在 keras 模型无法识别非 numpy 数组输入的情况下使用“np.array()”。但是,在我的情况下它不起作用。我不认为这对我来说是解决方案。
2)我认为这主要是由于括号不正确。所以我只是试图改变那部分。但它们都不起作用。(即使我输入训练数据集作为验证数据集)
----------skip : 只是创建数据集 ------------
def create_mean(inputs):
x = inputs
x = Dense(100, activation='relu')(x)
x = Dense(1, activation='linear', name='mean_output')(x)
return x
def create_std(inputs):
x = inputs
x = Dense(100, activation='relu')(x)
x = Dense(1, activation='softplus', name='var_output')(x)
return x
def generatesecmodel(name):
inputs = keras.Input(shape=(second_input,))
mean_branch = create_mean(inputs)
var_branch = create_std(inputs)
label_mean = Input(shape=(1,))
model2 = Model(inputs=[inputs, label_mean], outputs=[mean_branch, var_branch])
loss = 0.5 * K.log(var_branch + 1e-6) + 0.5 * K.square(label_mean - mean_branch) / (var_branch + 1e-6)
model2.add_loss(loss)
optimizer = optimizers.Adam(lr=0.1)
model2.compile(optimizer=optimizer, loss=None)
model2.fit([np.concatenate((partial_estendo, partial_x_train), axis=1), partial_y_train], epochs=num_epochs,
batch_size=batch_size, validation_data=([np.concatenate((estendo_val, x_val), axis=1), y_val]))
model = generatesecmodel('test')
错误消息如下 ValueError:检查模型输入时出错:您传递给模型的 Numpy 数组列表不是模型预期的大小。预计会看到 2 个数组,但得到了以下 1 个数组的列表:[array([[ 1.60455704e-04, -9.37487497e-01], [ 9.99757528e-01, 1.45345668e-01], [ 9.99548554 e-01, 2.66093564e-02], ..., [ 9.98771310e-01, -1.19436635e-01], [ 6.7000...
解决方案
推荐阅读
- python - 对于每个 NAME,计算每个月的平均 SNOW
- java - Navigation Drawer 不处理点击事件
- google-tag-manager - 在 Google 跟踪代码管理器的事务事件中推送额外的自定义变量
- c# - “并非所有代码路径都返回值”错误发生在方法中,但我确实使用了一些 if 语句来涵盖所有场景
- ios - 右上角和左上角半径无法正常工作
- android - 上传并显示数据 Firestore kotlin
- java - 为 jdbc 数据直接 sqlserver 驱动程序覆盖 org.apache.solr.handler.dataimport.JdbcDataSource
- solr - 为什么我在 Solr 云上收到 HTTP 连接错误?
- html - 隐藏带有条件的 Primeng 上下文菜单
- javascript - Discord.js 随机角色反应