импортировать свои собственные файлы ipynb на Google Colab - PullRequest
0 голосов
/ 12 ноября 2018

Я работаю с ноутбуком Jupyter, используя Google Colab (все файлы находятся на диске). У меня есть 2 файла: Exploratory_Data_Analysis.ipynb и PCA.ipynb. Я хочу импортировать, чтобы использовать данные, поступающие с первого во второй. используя только блокнот jupyter локально (не с коллаборацией Google), импорт работает просто следующим образом:

!pip install import-ipynb
import import_ipynb
import Exploratory_Data_Analysis as eda

Но с Google Colab я попробовал следующее:

!pip install import-ipynb
import import_ipynb

!pip install -U -q PyDrive
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
import os
import pandas as pd
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)

listed = drive.ListFile({'q': "'1CXqv7-PZmYrWes4MOk' in 
parents and trashed=false"}).GetList()
for file in listed:
    print('title {}, id {}'.format(file['title'], file['id']))

eda = os.path.join(download_path, 'Exploratory_Data_Analysis.ipynb')
temp_eda = drive.CreateFile({'id': '1YpDhXGeJVtzuxUJS5gKsUbm'})
temp_eda.GetContentFile(eda)

import Exploratory_Data_Analysis

и получаю это:

importing Jupyter notebook from Exploratory_Data_Analysis.ipynb
NotJSONError: Notebook does not appear to be JSON: ''...

Есть ли другие способы импортировать свои собственные файлы ipynb в Google Colab?

Ответы [ 2 ]

0 голосов
/ 07 апреля 2019

Ниже код работал отлично для меня. 1. Скопируйте все файлы ipynb в одну папку в colab 2. Поделитесь файлом ipynb из colab, см. Ссылку: https://www.pingshiuanchua.com/blog/post/importing-your-own-python-module-or-python-file-in-colaboratory 3. Затем выполните следующие шаги:

!pip install import-ipynb
import import_ipynb
# Install the PyDrive wrapper & import libraries.
# This only needs to be done once per notebook.
!pip install -U -q PyDrive
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials

# Authenticate and create the PyDrive client.
# This only needs to be done once per notebook.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)

# Copy the link and remove the front part of the link (i.e. https://drive.google.com/open?id=) to get the file ID.
your_module = drive.CreateFile({'id':'eyetgd1zyxwvutsrqponmlkjihgfedcba'})
your_module.GetContentFile('myfile.ipynb')
import myfile
0 голосов
/ 04 января 2019

Вам удалось импортировать файл notebook / ipynb в проект Google Colab? Я перевожу свою текущую работу в локальном jupyter-notebook в Google Colab с помощью Github и Clouderizer. Этот метод также позволяет мне работать в среде ноутбука jupyter, которая, как будто я делаю это локально, но могу синхронизировать мою работу с Google Colab мгновенно . Кроме того, этот метод позволяет мне импортировать модули .ipynb / .py в мою текущую записную книжку, над которой я работаю, просто сделав что-то вроде import <my own python/ipynb module>. Я бы порекомендовал эту настройку вместо использования волосатой командной строки Linux в Google Colab.

Вот учебник, как легко настроить ноутбук с github на Google Colab с помощью Clouderizer: Средний учебник .

По сути, это шаги, которые необходимо выполнить для настройки ноутбука ipynb, а также папки набора данных с помощью Clouderizer:

Clouderizer для Google Colab Project

Предпосылки

  1. Регистрация учетной записи Google / Gmail
  2. Зарегистрируйте Учетную запись Clouderizer [ссылка]
  3. Создайте репозиторий на вашем github и загрузите ваш проект (все ipynb, py модули и даже набор данных (zip, если <1GB)) в репозиторий. </li>

Настройка Clouderizer Project

  1. Войдите в консоль Clouderizer. При первом входе в систему вам будет предложено связать Google Drive с Clouderizer. Для этого следуйте инструкциям на экране. Если ссылка не отображается, вы можете настроить свой Диск Google, перейдя в панель инструментов Clouderizer-> боковое меню-> Clouderizer Drive. Clouderizer настроит папку «clouderizer» на вашем Google Диске для размещения вашего проекта ipynb (будь то машинное обучение или любое другое)
  2. Вернитесь к панели инструментов Clouderizer. Затем нажмите новый проект. Следуя инструкциям, вы можете выбрать загрузку всего проекта github, содержащего работу ipynb, которую вы собираетесь загрузить в Google Colab.
  3. На шаге 5 вы можете включить дополнительный набор данных, над которым вы хотите работать, указав URL для набора данных (например, из URL набора данных kaggle). Вы также можете выбрать и указать, хотите ли вы реорганизовать свой проект, имея отдельную папку для набора данных, основного кода / модулей и выходных файлов.
  4. Затем перейдите в Google Colab / создайте файл Google Colab в любом месте вашего Google Диска, затем выполните:! Wget NS -content dismission 'https://to_whatever_link_you_get_to_console'
  5. Наконец, вернитесь на панель инструментов Clouderizer и проверьте, запущена ли уже среда вашего проекта и синхронизирована ли она с Google Colab. Затем нажмите на значок блокнота jupyter на этой панели, прямо рядом с названием проекта, который вы даете. Теперь вы можете начать свое машинное обучение или любую другую работу, как если бы вы делали это на локальном компьютере, и сразу же синхронизировать ее в Google Colab.
  6. Наконец, вы сможете проверить, работает ли ваш .ipynb, а также можете ли импортировать модули / наборы данных в Google Colab. Просто вернитесь в Google Drive-> папку clouderizer-> ваш проект. Затем попробуйте запустить и посмотреть, все ли работает как в ноутбуке Jupyter.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...