以前こちらのプログラムで動いていたのですが、
python
1#coding: utf-8 2#Dogs vs. Cats 3 4#必要なライブラリの読み込み 5%matplotlib inline 6from keras.applications.vgg16 import VGG16, preprocess_input, decode_predictions 7from keras.preprocessing import image 8from PIL import Image 9import matplotlib.pyplot as plt 10import numpy as np 11import sys 12 13#学習済みモデルVGG16の読み込み 14model = VGG16(weights='imagenet') 15 16#画像判定のための関数 17def predict(filename, featuresize): 18 img = image.load_img(filename, target_size=(224, 224)) 19 x = image.img_to_array(img) 20 x = np.expand_dims(x, axis=0) 21 preds = model.predict(preprocess_input(x)) 22 results = decode_predictions(preds, top=featuresize)[0] 23 return results 24 25#画像表示のための関数 26def showimg(filename, title, i): 27 im = Image.open(filename) 28 im_list = np.asarray(im) 29 plt.subplot(2, 5, i) 30 plt.title(title) 31 plt.axis("off") 32 plt.imshow(im_list) 33 34# 画像を判定 35filename = "train/dog.1798.jpg" 36plt.figure(figsize=(20, 10)) 37for i in range(1): 38 showimg(filename, "query", i+1) 39plt.show() 40results = predict(filename, 10) 41for result in results: 42 print(result)
今日色々といじっていたら下記のエラーを吐くようになってしまいました
TypeError Traceback (most recent call last) /var/folders/72/fl6l29ds4xvbv0zcgdzj4wc00000gn/T/ipykernel_21273/2530528999.py in <module> 38 showimg(filename, "query", i+1) 39 plt.show() ---> 40 results = predict(filename, 10) 41 for result in results: 42 print(result) /var/folders/72/fl6l29ds4xvbv0zcgdzj4wc00000gn/T/ipykernel_21273/2530528999.py in predict(filename, featuresize) 17 def predict(filename, featuresize): 18 img = image.load_img(filename, target_size=(224, 224)) ---> 19 x = image.img_to_array(img) 20 x = np.expand_dims(x, axis=0) 21 preds = model.predict(preprocess_input(x)) /Library/Frameworks/Python.framework/Versions/3.7/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 /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/keras_preprocessing/image/utils.py in img_to_array(img, data_format, dtype) 307 # or (channel, height, width) 308 # but original PIL image has format (width, height, channel) --> 309 x = np.asarray(img, dtype=dtype) 310 if len(x.shape) == 3: 311 if data_format == 'channels_first': TypeError: __array__() takes 1 positional argument but 2 were given
TypeError: array() takes 1 positional argument but 2 were given
をコピペして調べたところ、同じようなプログラムはいじればいけると書いてあるサイトに書いてあったのですがこのプログラムで動かしたいです。
何が原因で動かなくなってしまったのか教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/07/06 15:33