gpt4 book ai didi

python3 解释器给出的结果与 scipy.misc.imread 脚本不同

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:14 26 4
gpt4 key购买 nike

我正在尝试将图像数据作为矩阵读入 Python。

就此而言,我正在尝试使用scipy.misc.imread('image.jpg').astype(np.float)

当我从 python3 解释器执行正确的步骤序列时,一切都顺利进行,并且我得到了预期的矩阵。

但是,当我从脚本 (python3 foo.py...) 调用命令时,我收到一条错误,提示通过 float 转换的参数不能类型为JpegImageFile。我已确保已使用 pip install -Upillow 来确保 PIL 可用。

什么给了?这怎么可能?我已经一遍又一遍地验证在每种情况下都会执行相同的代码行,唯一的区别似乎是脚本内部的调用发生在定义的函数内部,但即使我 pdb.set_trace( ) 在脚本的其他地方也会发生相同的结果。

什么可能导致从解释器到脚本的结果波动?

编辑:好的,准确地说,我正在从这里运行neural_style.py脚本:https://github.com/anishathalye/neural-style 。必须安装 scipynumpytensorflowpillow。我正在使用 python3。 --content--styles--output 的任何参数都应该可以欺骗该错误。

完整的错误回溯:

Traceback (most recent call last):
File "neural_style.py", line 150, in <module>
main()
File "neural_style.py", line 84, in main
content_image = imread(options.content)
File "neural_style.py", line 141, in imread
return scipy.misc.imread(path).astype(np.float)
TypeError: float() argument must be a string or a number, not 'JpegImageFile'

但是,如下所示的一个简单的小脚本实际上可以工作:

import numpy as np
import scipy.misc
print(scipy.misc.imread('content').astype(np.float))

最佳答案

我找到了解决这个问题的方法。由于导入 stylize.py 的副作用,neural_style.py 脚本似乎获得了不同版本的 scipy 模块(或子模块)然后,vgg.py。添加这一行:

import scipy.misc

stylize.py 的最顶部(在 import vgg 前面)修复它。

不过我真的不知道为什么。

关于python3 解释器给出的结果与 scipy.misc.imread 脚本不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36026740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com