我已经安装了Tensorflow软件包,并从s390x体系结构的源代码中进行了编程。本教程中描述的图像识别classify_image.py示例引发一个错误,如下所示:
运行命令:
python ./classify_image.py --model_dir=/data/shared/myprojects/tensorflow/models/models-master/tutorials/image/imagenet --image_file=/data/shared/myprojects/keras/images/claude_profile.jpg错误消息:
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/common_shapes.py", line 659, in _call_cpp_shape_fn_impl
raise ValueError(err.message)
ValueError: Cannot reshape a tensor with 1041082757314414592 elements to shape [16777216,524288] (8796093022208 elements) for 'pool_3/_reshape' (op: 'Reshape') with input shapes: [1,22546423,22546423,2048], [2] and with input tensors computed as partial shapes: input[1] = [16777216,524288].版本:
python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.VERSION
'1.3.1'
>>> 一个可能的错误原因是endianness的不兼容性,因为经过训练的模型可能存储在一个小的endian符号中,而CPU则在一个大的endian模式下工作。是否有一种简单的方法来配置一个字节交换,以改变输入数据的特性?其他Tensorflow示例,没有图像处理例程执行OK。
发布于 2017-10-09 21:09:43
1041082757314414592听起来更像是溢出/下溢,而不是无生气的问题。如果您不尝试加载一个示例,但是尝试从头开始运行一个示例,那么您也会看到问题吗?
发布于 2017-10-17 05:56:51
这种情况似乎发生了,因为初始模型是在小终端机器上预先训练过的模型,在大端点(S390x)加载时会出现问题。也包括任何图表(如。classify_image_graph_def.pb)将以一种格式存储像size这样的值,在另一种格式中读取时会产生意想不到的结果。
据我所知,目前还没有工具可以将任何已保存的模型转换为兼容于大端。
所以现在,在大端,我们需要从头开始训练我们的节点。
https://stackoverflow.com/questions/46614394
复制相似问题