Можно ли использовать какие-либо наборы данных, доступные через API kaggle
в Google Colab? Я вижу, что Kaggle API используется в этой записной книжке Colab, но мне немного неясно, к каким наборам данных он предоставляет доступ.
Использование наборов данных Kaggle в Google Colab
Ответ 1
Шаг за шагом --
-
Создайте ключ API в Kaggle.
Для этого перейдите на страницу kaggle.com/и откройте страницу настроек пользователя.
-
Затем прокрутите вниз до раздела доступа к API и нажмите "Создать", чтобы загрузить ключ API. Это загрузит файл с именем
kaggle.json
на ваш компьютер. Вы будете использовать этот файл в Colab для доступа к наборам и соревнованиям Kaggle. -
Перейдите на страницу https://colab.research.google.com/.
-
Загрузите файл
kaggle.json
используя следующий фрагмент кода в ячейке кода:from google.colab import files files.upload()
-
Установите kaggle API, используя
!pip install -q kaggle
-
Переместите файл
kaggle.json
в~/.kaggle
, где клиент API ожидает, что ваш токен будет расположен:!mkdir -p ~/.kaggle !cp kaggle.json ~/.kaggle/
-
Теперь вы можете получить доступ к наборам данных с помощью клиента, например,
!kaggle datasets list
.
Вот полный блокнот части Colab этого процесса: https://colab.research.google.com/drive/1DofKEdQYaXmDWBzuResXWWvxhLgDeVyl
В этом примере вы можете загрузить файл kaggle.json
, клиент Kaggle API и использовать клиент Kaggle для загрузки набора данных.
Ответ 2
Вы должны иметь доступ к любому набору данных в Kaggle через API. В этом примере перечисляются только наборы данных для соревнований. Вы можете видеть, какие наборы данных вы можете получить с помощью этой команды:
kaggle datasets list
Вы также можете искать наборы данных, добавляя тег -s, а затем интересующий вас поисковый запрос. Таким образом, это даст вам список наборов данных о собаках:
kaggle datasets list -s dogs
Дополнительную информацию об API и о том, как использовать его в здесь, можно найти здесь.
Надеюсь, что это поможет!:)
Ответ 3
У меня есть этот учебник, чтобы использовать Kaggle API в Google Colab напрямую, не загружая и не загружая данные, установленные на вашем локальном компьютере. Kaggle API + Colaboratory
Ответ 4
Посмотрите это.
Он использует официальный kaggle api за сценой, но автоматизирует процесс, поэтому вам не нужно повторно загружать вручную каждый раз, когда ваша VM отнимается. Кроме того, еще одна проблема, с которой я столкнулся с использованием Kaggle API непосредственно на Colab, - это проблема переноса маркера API Kaggle с помощью Google Диска. Вышеуказанный метод также автоматизирует.
Отказ от ответственности: я являюсь одним из создателей Clouderizer.
Ответ 5
Прежде всего, запустите эту команду, чтобы узнать, где находится этот файл colab, как он выполняется. !ls -d $PWD/*
Это покажет /content/data/content/gdrive/content/models
Другими словами, ваш текущий каталог - root/content/. Ваш рабочий каталог (pwd) -/content/. поэтому, когда вы сделаете !ls
, он покажет data gdrive models
. К вашему сведению! позволяет запускать команды linux внутри colab.
Google Диск продолжает очищать папку /content. Поэтому каждый сеанс, в котором вы используете colab, загруженные наборы данных, файл kaggle json, исчезнет. Вот почему так важно автоматизировать процесс, чтобы вы могли сосредоточиться на написании кода, а не настраивать среду каждый раз.
Запустите это в блоке кода colab в качестве примера с вашим собственным ключом API. открыть файл kaggle.json. Вы найдете их.
# Info on how to get your api key (kaggle.json) here: https://github.com/Kaggle/kaggle-api#api-credentials
!pip install kaggle
{"username":"seunghunsunmoonlee","key":""}
import json
import zipfile
import os
with open('/content/.kaggle/kaggle.json', 'w') as file:
json.dump(api_token, file)
!chmod 600 /content/.kaggle/kaggle.json
!kaggle config path -p /content
!kaggle competitions download -c dog-breed-identification
os.chdir('/content/competitions/dog-breed-identification')
for file in os.listdir():
zip_ref = zipfile.ZipFile(file, 'r')
zip_ref.extractall()
zip_ref.close()
Тогда беги !ls
Вы увидите все данные, которые вам нужны. Надеюсь, поможет!
Ответ 6
Совмещенный верхний ответ на эту суть Github, как реализация Colab. Вы можете напрямую скопировать код и использовать его.
Как импортировать набор данных из Kaggle в Colab
Метод:
Сначала несколько вещей, которые вы должны сделать:
- Подпишитесь на Kaggle
- Зарегистрируйтесь на соревнование, с которого вы хотите получить доступ к данным (например, соревнование LANL-Earthquake-Prediction).
- Загрузите свои учетные данные для доступа к Kaggle API как
kaggle.json
# Install kaggle packages
!pip install -q kaggle
!pip install -q kaggle-cli
# Colab file access feature
from google.colab import files
# Upload 'kaggle.json' file
uploaded = files.upload()
# Retrieve uploaded file
# print results
for fn in uploaded.keys():
print('User uploaded file "{name}" with length {length} bytes'.format(
name=fn, length=len(uploaded[fn])))
# Then copy kaggle.json into the folder where the API expects to find it.
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
!chmod 600 ~/.kaggle/kaggle.json
!ls ~/.kaggle
Теперь проверьте, сработало ли это!
#list competitions
!kaggle competitions list -s LANL-Earthquake-Prediction
Ответ 7
Чтобы загрузить данные о конкуренции на Google Colab из Kaggle. Я работаю над Google Colab, и я столкнулся с той же проблемой. но я сделал две вещи.
Сначала вы должны зарегистрировать свой номер мобильного телефона вместе с кодом вашей страны. Во-вторых, вы должны нажать на последнее представление на странице набора данных kaggle. Затем загрузить файл kaggle.json из kaggle.upload kaggle.json в google colab. После этого в google colab запустите эти коды, приведенные ниже.
!pip install -q kaggle
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
!chmod 600 ~/.kaggle/kaggle.json
!kaggle competitions download -c web-traffic-time-series-forecasting
Ответ 8
после шагов (1-6) выше, чтобы использовать набор данных из определенного соревнования в colab, вы можете использовать команду:
! kaggle competition download -c elo-merchant -c ategory-рекомендация
(elo-merchant -c ategory-рекомендация - это название конкурса.)