#python #google-colaboratory #tensorflow2.0
#python #google-colaboratory #tensorflow2.0
Вопрос:
Это код, который я написал в Google colab. Однако после выполнения он выдал ошибку. Код:
img_width =500
img_height = 500
X=[]
for i in tqdm(range(data.shape[0])):
path= '/content/drive/My Drive/DData/img' data['id'][i] '.png'
img= image.load_img(path, target_size=(img_width, img_height, 3))
img = image.img_to_array(img)
img = img/255.0
X.append(img)
X= np.array(X)
Это ошибка:
Error:
TypeError Traceback (most recent call last)
<ipython-input-81-1aa91a1867f4> in <module>()
3 X=[]
4 for i in tqdm(range(data.shape[0])):
----> 5 path= '/content/drive/My Drive/DData/img' data['id'][i] '.png'
6 img= image.load_img(path, target_size=(img_width, img_height, 3))
7 img = image.img_to_array(img)
TypeError: must be str, not numpy.int64**
Комментарии:
1. каково содержимое
data['id'][i]
?
Ответ №1:
Я не знаю, что вы храните в data['id']
но я предполагаю, что это массив чисел, который вы не можете объединить со строками. Итак, одним из способов должно быть преобразование его в строку:
path= '/content/drive/My Drive/DData/img' str(data['id'][i]) '.png'
И еще одна вещь не будет работать в вашем коде.
X= np.array(X)
преобразует его в numpy
массив, который нельзя изменять, вы не сможете ничего добавить к нему на следующей итерации.
Комментарии:
1. Я присвоил номера своему «идентификатору»
2. Итак, мой ответ отвечает на ваш вопрос? Вы должны преобразовать его в строку, чтобы заставить его работать.