#python #tensorflow #keras #download #google-colaboratory
#python #тензорный поток #keras #Скачать #google-colaboratory
Вопрос:
Я новичок в TensorFlow и python в целом, поэтому буду признателен за любую помощь. Я следую этому руководству от tensorflow, только с моими собственными данными.
Итак, я пытаюсь загрузить свои собственные данные по ссылке, которую я получил из папки, которую я загрузил на Google Диск. Затем я буду использовать эти данные в модели классификатора изображений. Однако я начинаю видеть, как загружаются изображения, и в нем говорится:
dataset_url_training = "https://drive.google.com/drive/folders/genericid?usp=sharing"
data_dir_training = tf.keras.utils.get_file('flower_photos', origin=dataset_url_training, untar=True)
data_dir_training = pathlib.Path(data_dir_training)
Загрузка данных с https://drive.google.com/drive/folders/genericid?usp=sharing
106496 / Неизвестно — 2s 14us / шаг
А затем он просто останавливается. И когда я пытаюсь использовать следующий код:
print(image_count)
Вывод выдает: 0
Я действительно в замешательстве и не знаю, что делать. Некоторые предложения заключались в создании URL-адреса zip-файла, но это относится только к отдельным файлам и не работает для целых папок, таких как моя. Кроме того, насколько я знаю, Google Drive не позволяет вам получать ссылки на zip-файлы, только для обмена (для пояснения, это мои собственные файлы).
Спасибо.
Редактировать 1: просто хочу прояснить: я НЕ ищу путь. Я ищу URL-адрес, отсюда и использование каталога. Я также пытался использовать. ссылка на zip-файл, но я получил то же сообщение об ошибке, что и раньше.
Ответ №1:
Если вы хотите использовать файл с Google Диска в colab, вы можете подключить наш диск к colab.
from google.colab import drive
drive.mount('/content/gdrive')
Затем вы можете открывать файлы с Google Диска.
Например, ваш файл находится в каталоге «папка» на вашей главной странице диска:
path = "gdrive/My Drive/folder/flower_photos"
Редактирование / добавление:
Чтобы сделать его более понятным, вы измените эту часть из руководства
import pathlib
dataset_url = "https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz"
data_dir = tf.keras.utils.get_file('flower_photos', origin=dataset_url, untar=True)
data_dir = pathlib.Path(data_dir)
для этого
import pathlib
from google.colab import drive
drive.mount('/content/gdrive')
data_dir = "gdrive/My Drive/flower_photos"
data_dir = pathlib.Path(data_dir)
Комментарии:
1. Привет, Дер-Давидос, спасибо за вашу помощь. Тем не менее, я буквально сделал то, что вы сказали, и это дает мне: ValueError: неизвестный тип url: ‘gdrive / My Drive / folder /flower_photos’ Редактировать: я также пытался удалить пробел, используя люфты, помещая /content в начало и почти любую другую итерацию. Ни один из них не работал
2. Я предполагаю, что вы все еще используете tf.keras.utils.get_file()? Потому что это для получения файлов с URL-адреса, как описано здесь . Но вам больше не нужно получать их по URL-адресу, вы сможете продолжить учебник, используя путь к вашему каталогу вместо data_dir .
3. Да, это так, но проблема в том, как мне изменить следующий код, если я использую не каталог, а путь? Мне пришлось бы изменить весь мой код, поэтому я предпочел бы просто использовать URL. Если бы вы могли сообщить мне, как это сделать, я был бы очень признателен.
ds_train = tf.keras.preprocessing.image_dataset_from_directory( data_dir, validation_split=0.2, subset="training", seed=123, image_size=(img_height, img_width), batch_size=batch_size)
4. Я сделал дополнение к своему ответу, надеюсь, теперь это более понятно.
5. Большое вам спасибо!! Вы действительно спасли мне жизнь