TypeError: float() argument must be a string or a number, not 'module'
TypeError: float() argument must be a string or a number, not 'module'
如有任何帮助,我们将不胜感激。我正在尝试 "define the expected input shape" 作为教程模型的一部分,您可以在这个网站上找到它:(https://machinelearningmastery.com/how-to-perform-object-detection-with-yolov3-in-keras/)。我使用的代码如下:
# load and prepare an image
def load_image_pixels(filename, shape):
# load the image to get its shape
Image_file = image.load_img(filename)
width, height = Image_file.size
# load the image with the required size
Image_file = image.load_img(filename, target_size=shape)
# convert to numpy array
Image_file = image.img_to_array(image)
# scale pixel values to [0, 1]
Image_file = Image_file.astype('float32')
Image_file /= 255.0
# add a dimension so that we have one sample
Image_file = expand_dims(Image_file, 0)
return Image_file, width, height
# define the expected input shape for the model
input_w, input_h = 416, 416
# define our new photo
filename = 'zebra.jpg'
# load and prepare image
Image_file, width, height = load_image_pixels(filename, (input_w, input_h))
我收到以下错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-12-ea4c5aa676a6> in <module>
4 filename = 'zebra.jpg'
5 # load and prepare image
----> 6 Image_file, width, height = load_image_pixels(filename, (input_w, input_h))
<ipython-input-11-2ab602af7690> in load_image_pixels(filename, shape)
7 Image_file = image.load_img(filename, target_size=shape)
8 # convert to numpy array
----> 9 Image_file = image.img_to_array(image)
10 # scale pixel values to [0, 1]
11 Image_file = Image_file.astype('float32')
~/anaconda3/lib/python3.7/site-packages/keras/preprocessing/image.py in img_to_array(img, data_format, dtype)
73 if dtype is None:
74 dtype = backend.floatx()
---> 75 return image.img_to_array(img, data_format=data_format, dtype=dtype)
76
77
~/anaconda3/lib/python3.7/site-packages/keras_preprocessing/image/utils.py in img_to_array(img, data_format, dtype)
297 # or (channel, height, width)
298 # but original PIL image has format (width, height, channel)
--> 299 x = np.asarray(img, dtype=dtype)
300 if len(x.shape) == 3:
301 if data_format == 'channels_first':
~/anaconda3/lib/python3.7/site-packages/numpy/core/_asarray.py in asarray(a, dtype, order)
83
84 """
---> 85 return array(a, dtype, copy=False, order=order)
86
87
TypeError: float() argument must be a string or a number, not 'module'
你的 image
在 Image_file = image.img_to_array(image)
中应该是 Image_file
。所以这一行应该是 Image_file = image.img_to_array(Image_file)
如有任何帮助,我们将不胜感激。我正在尝试 "define the expected input shape" 作为教程模型的一部分,您可以在这个网站上找到它:(https://machinelearningmastery.com/how-to-perform-object-detection-with-yolov3-in-keras/)。我使用的代码如下:
# load and prepare an image
def load_image_pixels(filename, shape):
# load the image to get its shape
Image_file = image.load_img(filename)
width, height = Image_file.size
# load the image with the required size
Image_file = image.load_img(filename, target_size=shape)
# convert to numpy array
Image_file = image.img_to_array(image)
# scale pixel values to [0, 1]
Image_file = Image_file.astype('float32')
Image_file /= 255.0
# add a dimension so that we have one sample
Image_file = expand_dims(Image_file, 0)
return Image_file, width, height
# define the expected input shape for the model
input_w, input_h = 416, 416
# define our new photo
filename = 'zebra.jpg'
# load and prepare image
Image_file, width, height = load_image_pixels(filename, (input_w, input_h))
我收到以下错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-12-ea4c5aa676a6> in <module>
4 filename = 'zebra.jpg'
5 # load and prepare image
----> 6 Image_file, width, height = load_image_pixels(filename, (input_w, input_h))
<ipython-input-11-2ab602af7690> in load_image_pixels(filename, shape)
7 Image_file = image.load_img(filename, target_size=shape)
8 # convert to numpy array
----> 9 Image_file = image.img_to_array(image)
10 # scale pixel values to [0, 1]
11 Image_file = Image_file.astype('float32')
~/anaconda3/lib/python3.7/site-packages/keras/preprocessing/image.py in img_to_array(img, data_format, dtype)
73 if dtype is None:
74 dtype = backend.floatx()
---> 75 return image.img_to_array(img, data_format=data_format, dtype=dtype)
76
77
~/anaconda3/lib/python3.7/site-packages/keras_preprocessing/image/utils.py in img_to_array(img, data_format, dtype)
297 # or (channel, height, width)
298 # but original PIL image has format (width, height, channel)
--> 299 x = np.asarray(img, dtype=dtype)
300 if len(x.shape) == 3:
301 if data_format == 'channels_first':
~/anaconda3/lib/python3.7/site-packages/numpy/core/_asarray.py in asarray(a, dtype, order)
83
84 """
---> 85 return array(a, dtype, copy=False, order=order)
86
87
TypeError: float() argument must be a string or a number, not 'module'
你的 image
在 Image_file = image.img_to_array(image)
中应该是 Image_file
。所以这一行应该是 Image_file = image.img_to_array(Image_file)