Использование наборов данных Kaggle в Google Colab

Можно ли использовать какие-либо наборы данных, доступные через API kaggle в Google Colab? Я вижу, что Kaggle API используется в этой записной книжке Colab, но мне немного неясно, к каким наборам данных он предоставляет доступ.

Ответ 1

Шаг за шагом --

  1. Создайте ключ API в Kaggle.

    Для этого перейдите на страницу kaggle.com/и откройте страницу настроек пользователя. settings nav

  2. Затем прокрутите вниз до раздела доступа к API и нажмите "Создать", чтобы загрузить ключ API. api token Это загрузит файл с именем kaggle.json на ваш компьютер. Вы будете использовать этот файл в Colab для доступа к наборам и соревнованиям Kaggle.

  3. Перейдите на страницу https://colab.research.google.com/.

  4. Загрузите файл kaggle.json используя следующий фрагмент кода в ячейке кода:

    from google.colab import files files.upload()

  5. Установите kaggle API, используя !pip install -q kaggle

  6. Переместите файл kaggle.json в ~/.kaggle, где клиент API ожидает, что ваш токен будет расположен:

    !mkdir -p ~/.kaggle !cp kaggle.json ~/.kaggle/

  7. Теперь вы можете получить доступ к наборам данных с помощью клиента, например, !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, как он выполняется. enter image description here !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

Метод:

Сначала несколько вещей, которые вы должны сделать:

  1. Подпишитесь на Kaggle
  2. Зарегистрируйтесь на соревнование, с которого вы хотите получить доступ к данным (например, соревнование LANL-Earthquake-Prediction).
  3. Загрузите свои учетные данные для доступа к 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-рекомендация - это название конкурса.)