web-dev-qa-db-ja.com

多くのファイルをGoogle Colabにアップロードする方法は?

画像セグメンテーション機械学習プロジェクト に取り組んでおり、Google Colabでテストしたいと思います。

トレーニングデータセットの場合、700個の画像があり、ほとんどが256x256、プロジェクトのpython numpy配列にアップロードする必要があります。また、アップロードする対応する数千のマスクファイルもあります。現在、Googleドライブのさまざまなサブフォルダーに存在しますが、私のプロジェクトで使用するためにGoogle Colabにアップロードできませんでした。

これまでのところ、アップロード速度が非常に遅いと思われるGoogle Fuseと、さまざまな認証エラーが発生したPyDriveを使用してみました。私はほとんどの場合、Google Colab I/Oのサンプルコードを使用しています。

これについてどうすればいいですか? PyDriveを使用する方法はありますか?フォルダー構造または一度に多くのファイルをアップロードするためのコードはどこかにありますか?

8
cambonator

すべてのデータをGoogleドライブに入れてから、ドライブをマウントできます。これは私がやった方法です。段階的に説明させてください。

ステップ1:データをGoogleドライブに転送します。

ステップ2:次のコードを実行して、Googleドライブをマウントします。

# Install a Drive Fuse wrapper.
# https://github.com/astrada/google-drive-ocamlfuse
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse Fuse



# Generate auth tokens for Colab
from google.colab import auth
auth.authenticate_user()


# Generate creds for the Drive Fuse library.
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}


# Create a directory and mount Google Drive using that directory.
!mkdir -p My Drive
!google-drive-ocamlfuse My Drive


!ls My Drive/

# Create a file in Drive.
!echo "This newly created file will appear in your Drive file list." > My Drive/created.txt

ステップ3:次の行を実行して、マウントされたドライブに目的のデータが表示されるかどうかを確認します。

!ls Drive

ステップ4:

次のように、numpy配列にデータをロードします。列車とcvおよびテストデータを含むexelファイルがありました。

train_data = pd.read_Excel(r'Drive/train.xlsx')
test = pd.read_Excel(r'Drive/test.xlsx')
cv= pd.read_Excel(r'Drive/cv.xlsx')

私はそれが役立つことを願っています。

編集

Colabノートブック環境からドライブにデータをダウンロードするには、次のコードを実行できます。

# Install the PyDrive wrapper & import libraries.
# This only needs to be done once in a 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 in a notebook.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)



# Create & upload a file.
uploaded = drive.CreateFile({'data.xlsx': 'data.xlsx'})
uploaded.SetContentFile('data.xlsx')
uploaded.Upload()
print('Uploaded file with ID {}'.format(uploaded.get('id')))
8

大きなデータセットをGoogle Colabにアップロードするためのいくつかの手順を次に示します

1.データセットをDropboxやOpenloadなどの無料のクラウドストレージにアップロードします(私はDropboxを使用しました)
2。アップロードしたファイルの共有可能なリンクを作成してコピーします。
3.Google Colabでノートブックを開き、次のいずれかのセルでこのコマンドを実行します。

    !wget your_shareable_file_link

それでおしまい!

    !unzip downloaded_filename -d destination_folder
4
nikhilbisht21

最初にファイルを圧縮してから、Googleドライブにアップロードします。

解凍する次の簡単なコマンドを参照してください。

!unzip {file_location}

例:

!unzip drive/models.rar
1
Deepak Ravi

Step1:次のコマンドを実行して、ドライブをマウントします。

from google.colab import drive
drive.mount('/content/drive')

これにより、リンクが出力されます。リンクをクリックして許可をクリックし、認証コードをコピーして、colabセルにあるボックスに「認証コードを入力してください:」というテキストを貼り付けます。このプロセスは、colabがGoogleドライブにアクセスする許可を与えているだけです。

Step2:フォルダー(フォルダーのサイズに応じて圧縮または解凍)をGoogleドライブにアップロードします

Step:ドライブのディレクトリとファイルに移動して、アップロードしたフォルダー/ zipファイルを見つけます。

このプロセスは次のようになります。開始するときのcolabの現在の作業ディレクトリは/ content /になります。念のため、セルで次のコマンドを実行します。

!pwd

現在のディレクトリが表示されます(pwdは「作業ディレクトリの印刷」を表します)。次に、次のようなコマンドを使用します。

!ls

現在のディレクトリ内のディレクトリとファイルとコマンドを一覧表示するには:

!cd /directory/name/of/your/choice

ディレクトリに移動して、アップロードしたフォルダまたはアップロードした.Zipファイルを見つけます。

そしてそのように、機械学習モデルで手を汚す準備ができました! :)

これらの簡単な手順により、機械学習モデル、そのハイパーパラメーター、前処理...

1
Sushanth

kaggle-cliモジュール、前述のように ここ