在google colab上导入自己的ipynb文件

2024-05-12 21:50:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用google colab(所有文件都在驱动器中)处理jupyter笔记本。我有两个文件:Exploratory_Data_Analysis.ipynb et PCA.ipynb。 我要导入以使用secon one中第一个提交的数据。 仅在本地使用jupyter笔记本(不使用google colaboratory),导入操作如下:

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

但在谷歌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: ''...

有没有其他方法可以在google colab上导入自己的ipynb文件?


Tags: installpip文件fromimportauthdatagoogle
2条回答

下面的代码非常适合我。 一。将所有ipynb文件复制到colab中的一个文件夹中 2。从colab共享ipynb文件,请参见链接: https://www.pingshiuanchua.com/blog/post/importing-your-own-python-module-or-python-file-in-colaboratory 三。然后执行以下步骤:

!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

您是否成功地将笔记本/ipynb文件导入到Google Colab项目中? 我将自己在本地jupyter笔记本上的工作迁移到Google Colab的方法是使用Github和Clouderizer。这种方法还允许我在jupyter笔记本电脑环境中工作,就好像我在本地工作一样,但能够将我的工作立即同步到Google Colab。此外,此方法还允许我通过简单地执行import <my own python/ipynb module>之类的操作,将modules.ipynb/.py导入正在处理的笔记本。我建议使用这个设置,而不是在Google Colab上使用毛茸茸的linux命令行。

下面是如何使用Clouderizer轻松地将笔记本从github设置到Google Colab的教程:Medium tutorial

基本上,以下是使用Clouderizer设置ipynb笔记本和dataset文件夹所需的步骤:

Clouderizer for Google Colab项目

先决条件

  1. 注册google/gmail帐户
  2. 注册Clouderizer account[链接]
  3. 在github上创建一个存储库,并将项目(所有ipynb、py模块,甚至数据集(如果<;1GB)上传到repo。

安装Clouderizer项目

  1. 登录到Clouderizer控制台。第一次登录时,系统会提示您将Google驱动器与Clouderizer链接。按照屏幕上的说明操作。如果它没有提示链接,您可以通过转到Clouderizer dashboard->;侧栏菜单->;Clouderizer Drive来配置您的Google驱动器。Clouderizer将在Google驱动器中设置一个名为“Clouderizer”的文件夹,以包含ipynb项目(无论是机器学习还是其他项目)
  2. 返回Clouderizer仪表板。然后单击“新建项目”。按照说明进行操作时,可以选择加载整个github项目,该项目包含要上载到Google Colab的ipynb工作。
  3. 在步骤5中,您可以通过指定数据集的URL(例如,来自kaggle数据集URL)来包含要处理的其他数据集。您还可以选择并指定是否要重构项目,方法是为数据集、主代码/模块和输出文件设置单独的文件夹。
  4. 接下来,前往Google Colab/在Google驱动器中的任何位置创建一个Google Colab文件,然后执行:!wget NS-内容处理“https://to_whatever_link_you_get_to_console
  5. 最后,返回Clouderizer仪表板,检查您的项目环境是否已经运行并同步到Google Colab。然后单击仪表板中的jupyter笔记本图标,就在您给出的项目标题名称旁边。现在,你可以像在本地机器上一样开始学习机器或做任何工作,然后立即在Google Colab上同步。
  6. 最后,您将能够验证.ipynb是否可以工作,以及是否能够在Google Colab中导入模块/数据集。返回到Google Drive->;clouderizer文件夹->;您的项目。然后试着运行,看看是否一切工作,因为它是在朱庇特笔记本。

相关问题 更多 >