如何解决这个问题?我尝试过设置dtype=None
in the image.img_to_array method
.
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
import matplotlib.pyplot as plt
from keras.preprocessing import image
image_size = (180, 180)
batch_size = 32
model = keras.models.load_model('best_model.h5')
img = keras.preprocessing.image.load_img(
"GarnetCreek_7-15-2019.jpeg", target_size=image_size
)
img_array = image.img_to_array(img)
img_array = tf.expand_dims(img_array, 0) # Create batch axis
predictions = model.predict(img_array)
score = predictions[0]
这会引发以下错误:
Traceback (most recent call last):
img_array = image.img_to_array(img, dtype=None)
return image.img_to_array(img, data_format=data_format, **kwargs)
x = np.asarray(img, dtype=dtype)
return array(a, dtype, copy=False, order=order)
TypeError: __array__() takes 1 positional argument but 2 were given
有没有人见过这个?非常感谢!
这个错误有时是由于错误Pillow 8.3.0
就这样here。 (您不得使用import PIL
直接在您的代码中,但是有些库,例如tf.keras.preprocessing.image.load_img use PIL
内部)
所以,从降级PIL 8.3.0
to 8.2.0
可能有效。
Check PIL
版本:
import PIL
print(PIL.__version__)
如果是8.3.0,那么你可以降级到8.2.0:
!pip install pillow==8.2.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)