tensorflow - 如何将列表列表传递给张量流?
问题描述
我正在尝试在 tensorflow 中构建一个模型,该模型使用句子来预测图像。我将所有句子转换为每个大小为 300 的列表列表。
0 [-0.22607538080774248, 0.30380163341760635, 0....
1 [-0.10856867488473654, 0.17990960367023945, 0....
2 [-0.15721752890385687, 0.1608753204345703, 0.4...
3 [-0.12894394318573177, 0.13585415855050087, 0....
4 [-0.27382510248571634, 0.22385768964886665, 0....
40449 [-0.28715573996305466, 0.2722414545714855, 0.6...
40451 [-0.04035807272884995, 0.2275269404053688, 0.3...
40452 [-0.19741788890678436, 0.3378600552678108, 0.7...
40453 [-0.10771899553947151, 0.13040382787585258, 0....
40454 [-0.07718773453962058, 0.28313175216317177, 0....
Name: Text, Length: 31978, dtype: object
如何将它作为输入提供给 tensorflow?
我试过了
model = Sequential([
Dense(2, activation="relu", input_shape = (300,)),
Reshape((256, 256, 3), input_shape = (300,))
])
model.compile(loss='mse', optimizer='adam')
history = model.fit(x_ent, y_ent, epochs=3, batch_size=64)
但是当我编译模型时,它说
ValueError: Error when checking input: expected dense_2_input to have shape (300,) but got array with shape (1,)
此外,我使用 Reshape 图层将矢量转换为图像,但我不知道是否有更好的方法来做到这一点。
解决方案
每张图片需要300个句子进行分类吗?还是每个句子都有一个大小为 300 的特征向量?如果您将每个句子作为一个长度为 300 的列表,并且如果您有 40454 个句子,则您的输入形状必须为 40454x300。所以你可以传递input_shape = (40454,300)
给密集输入层。它应该工作。
我参考了tensorflow keras 文档。
具有形状的 ND 张量:(batch_size, ..., input_dim)。最常见的情况是具有形状 (batch_size, input_dim) 的 2D 输入。
推荐阅读
- database - 在 Informix 中连接到远程数据库
- google-iap - 使用 Google Cloud Identity Aware Proxy 提供细粒度的安全性
- vim - 没有删除选项来删除 .bash_profile.swp
- python - 关于 Python if 语句的问题
- awk - 使用 awk 比较两列
- java - 找不到构建工具修订版 8.0.0
- python - 当一列是日期时间而另一列是对象时,如何在 Pandas 中连接/合并两列?
- tensorflow - 组在张量板上的同一张图上运行
- excel - 手动编程 userForm - 第一步:在简单的 userForm VBA 中未定义子或函数
- r - r, textstem 包中的奇怪词形还原结果