栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

TensorFlow报错 Input to reshape is a tensor with 110592 values, but the requested shape has 55296

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

TensorFlow报错 Input to reshape is a tensor with 110592 values, but the requested shape has 55296

场景:

读取已保存的TfRecords文件, 在解析数组数据时,解析出来的数组长度是该原数组长度的2倍,导致无法正确reshape

问题描述

tensorflow.python.framework.errors_impl.InvalidArgumentError: 2 root error(s) found.
(0) Invalid argument: Input to reshape is a tensor with 110592 values, but the requested shape has 55296

原因:

tensorflow默认的float数据是32位的,也就是tf.float32, 而python中numpy数组的float数据默认是64位的,也就是np.float64, 所以保存64位数组数据后,再用tensorflow解析时会将64位的数据解析成两个32位的数据,导致数据长度变成2倍,与原数组shape不匹配。

解决方案

在将数组数据写入TfRecords文件时,先将数组数据类型改成np.float32,如数组arr:
arr = arr.astype(np.float32)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/960869.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号