Как загрузить набор данных с моего Google диска

#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. Итак, мой ответ отвечает на ваш вопрос? Вы должны преобразовать его в строку, чтобы заставить его работать.