Python 从csv文件导入权重:层权重形状(672,7)与提供的权重形状(1,1672,7)不兼容

Python 从csv文件导入权重:层权重形状(672,7)与提供的权重形状(1,1672,7)不兼容,python,keras,Python,Keras,我正在用Keras编写深度学习网络,之前在Matlab中测试过。为了避免进行所有的学习,我在Matlab中将最后一层的权重和偏差导出为.csv文件,并希望在我的网络中使用它们-因此我的网络将根据给定的权重测试分数,而不是整个学习 代码: 我试着用 model.set_weights([network_outputs]) 但它似乎只给我的第一层网络分配了一个权重,所以我只给最后一层分配了权重。结果是出现以下错误: ValueError:层权重形状(672,7)与提供的权重形状(1,1672,7)

我正在用Keras编写深度学习网络,之前在Matlab中测试过。为了避免进行所有的学习,我在Matlab中将最后一层的权重和偏差导出为.csv文件,并希望在我的网络中使用它们-因此我的网络将根据给定的权重测试分数,而不是整个学习

代码:

我试着用

model.set_weights([network_outputs])
但它似乎只给我的第一层网络分配了一个权重,所以我只给最后一层分配了权重。结果是出现以下错误:

ValueError:层权重形状(672,7)与提供的权重形状(1,1672,7)不兼容

这让我很困惑。通过权重=[网络权重,网络偏差]我如何得到4个维度?这是因为网络_权重有维度[1672],网络_偏差=[1,7],这使得[1,1672,7]

以及如何正确调整此权重参数的大小?

np.array([[trained_weights]])
使用两个空维度包围的数据创建一个数组,因此最终形状为(1,1,x,y)。你的偏见也是如此。应用
[network\u weights,network\u bias]
会再次使用一个维度将两个阵列包围起来,这显然是不匹配的

我认为你只需要使用以下方法清理所有不必要的环境:

weights=[trained_weights, trained_bias]

不客气。如果有帮助的话,你可以接受我的回答。
weights=[trained_weights, trained_bias]