この記事は、の一部として公開されました データサイエンスブログソン
目次
- 概要
- CurlWget拡張機能
- 任意のWebサイトからColabにデータをアップロードする
- Collaboratoryでさまざまなファイル形式を処理する
- インターネットを無駄にすることなくファイルを保存して再利用する
- ファイルがgdriveで共有されている場合
- まとめ
- 著者について
概要
Google colaboratoryは、機械学習、最先端のCPU、GPU、TPUでディープラーニングモデルを実行するために最も使用されているWebベースのjupyterノートブック環境のXNUMXつです。
データサイエンスとディープラーニングを初めて使用する場合は、ローカルデバイスで実行されているjupyterノートブックからgooglecolabノートブックへの移行を検討してください。
colabと複数のハックを使用して、必要に応じてノートブックをカスタマイズすることには、多くの利点があります。 ただし、Jupyterノートブックよりもcolabノートブックを使用することには大きな欠点があります。
google colaboratoryはWebベースのノートブック環境であるため、ローカルデバイスからサーバーにデータをアップロードする必要があります。 colabではデータのアップロードが比較的遅くなります。
データサイエンスに興味がある場合は、100MBから数GBの範囲のデータセットを扱います。 また、大きなファイルサイズのデータセットをアップロードするには、Googleの共同作業で多くの時間がかかります。
このブログでは、この問題に対する適切な解決策を共有します。これにより、10GBのデータセットでも数秒でアップロードできます。
そのためには、問題の鍵となるCurlWget拡張機能に注意する必要があります。 この拡張機能は命の恩人であり、ブラウザのどこからでもデータを簡単にロードして直接コラボすることができます。
CurlWget拡張機能
google colabはLinuxベースのサーバーでホストされているため、いくつかの基本的なLinuxコマンドを利用できます。 CurlWgetは、googlecolabのようなコンソールのみのセッションでコピー/貼り付けするための「curl」または「wget」コマンドライン文字列を提供するのに役立つ小さなプラグインです。
1。 クリック こちら 拡張機能ページに移動し、Chromeに拡張機能を追加します。
2.エクステンションを固定します。 さらに使用するには、ピン留めする必要があります。
3.これで、次のプロセスの準備が整いました。
拡張機能を使用してデータセットを直接ロードしていない場合を想像してみてください。 そのためには、まずデータセットをローカルシステムにダウンロードする必要があります。次に、データセットをコラボにアップロードする必要があります。これには多くの時間がかかります。 さらにモデルを構築するためにデータを設定するプロセスには、時間とエネルギーがかかります。
任意のWebサイトからColabにデータをアップロードする
1. 1.5GBのファイルサイズのMicrosoftマルウェアデータセットを使用します。 データセットについて詳しく知りたい場合は、をクリックしてください こちら。 [データページ]に直接移動し、下にスクロールして[すべてダウンロード]をクリックすると、完全なデータセットが取得されます。 アップロードするデータセットを選択し、フォローします。
2.データがダウンロードされていることがわかります。ダウンロードをキャンセルする必要があります。 はい、あなたは正しく読んでいます。 ダウンロードをキャンセルします。
3.ダウンロードをキャンセルした後、前に固定したCurlWget拡張機能をクリックします。 あなたはそれに書かれた何かを見るでしょう。 灰色のボックスの内側をクリックします。 その中をクリックするとすぐに、すべてのテキストが自動的に選択されます。 キーボードのctrl + Cを押してコピーします。
4.共同作業室に移動し、空のコードセルタイプ「!」を追加します。 拡張機能からコピーしたすべてのテキストを「!」の間にスペースを入れずに貼り付けます。 コピーしたテキストとセルを実行します。
5.これで、ファイル/フォルダはわずか26秒でGooglecolabのディスクストレージに直接アップロードされました。
GB単位のファイルサイズのデータセットは、数百MB /秒の速度でロードされ、インターネットの数MBしかかかりません。 colabが提供する限られたディスクストレージを超えないことを考慮して、任意のファイルサイズのデータをロードできます。
Colaboratoryでさまざまなファイル形式を処理する
他の場所やさまざまなファイルタイプからデータを読み込むにはさまざまな方法がありますが、この方法は、ブラウザに存在する場合、すべてのデータに対して同じように機能します。 次に、アップロードしたファイルをどのように読み取って使用するかを見てみましょう。
パンダをpdデータとしてインポート= pd.read_csv( 'filename.csv')
1.ファイルがCSV形式の場合、パンダを使用して直接読み取ることができます。
!unzip 'ファイルパス'
2.ファイルがzip形式の場合は、最初にファイルを解凍する必要があります。 上記のコマンドを使用して、データを解凍します。
ファイルをクリックすると、ファイルのパスをコピーできます。3つのドットが表示されます。それをクリックし、[パスのコピー]をクリックして、Ctrl + Vを押して目的の場所に貼り付けます。
同様に、ファイルをそれぞれuntarとunrar、tarとrarにすることができます。
インターネットを無駄にすることなくファイルを保存して再利用する
一般に、機械学習モデルと深層学習モデルで作業する場合、モデルで使用する前に生データファイルを前処理する必要があります。 モデルでさらに使用するには、前処理されたデータを保存する必要がある場合があります。 データを保存するには、colabからダウンロードしてローカルコンピューターに保存する必要がありますが、Google colabではデータのダウンロードも非常に遅く、インターネットも大量に消費します。 この問題を回避するには、gdriveを使用してファイルをcolabからgdriveに直接転送し、必要なときにいつでも使用できるようにします。
google.colabからインポートドライブdrive.mount( '/ content / gdrive')
1.以下のコードを使用してgdriveをマウントします
2. Colabでは、認証コードを追加する必要があります。 コードセルの下にあるリンクをクリックします。 コードが表示され、コピーしてボックスに貼り付け、Enterキーを押します。
3.これで、gdriveのすべてのファイルとフォルダーがcolabのディスクストレージにアップロードされました。
4.フォルダアイコンをクリックします。 gdriveに存在するすべてのファイルが表示されます。
5.使用するファイルのパスをコピーして、適切なライブラリで読み取ります。
データファイルに変更を加えたり、プロジェクトの新しいファイルを作成した後、それをcolabからgdriveに直接保存します。
1.ファイルタイプのファイルをディスクに保存する適切なライブラリを使用します。
2.ファイルを保存するフォルダーのパスを選択し、ファイル名をファイルに追加して、セルを実行します。 ファイルがgdriveに直接アップロードされていることがわかります。
注:-すでにgdriveをGoogle colabにマウントしていて、gdriveに変更を加えている場合は、colabで動的に更新されます。 再度マウントする必要はありません。
また、colabを介してgdriveに変更を加えている場合、gdriveは自動的に更新されます。
ファイルがgdriveで共有されている場合
同僚や友人がプロジェクトに必要なデータファイルを含むGoogleドライブのリンクを共有している場合は、ローカルシステムにダウンロードせずに、Googlecolabでファイルを直接使用できます。
お気づきかもしれませんが、ドライブをgoogle colabにマウントすると、マイドライブフォルダのファイルとフォルダのみが含まれます。 Shared with meのファイル/フォルダを使用するには、そのファイルをマイドライブに追加する必要があります。 以下の手順に従って、共有ファイルをマイドライブフォルダに追加します。
1.ファイル/フォルダーを選択し、キーボードのShift + Zを押します。
2.ファイル/フォルダをコピーするマイドライブ上のフォルダを選択し、[ショートカットを追加]をクリックします
3.ファイル/フォルダがマイドライブに追加されます。 また、グーグルコラボへの変更を見ることができます。
まとめ
APIリンク、URL、または単にデータをアップロードすることによって、Googlecolabにデータをアップロードするさまざまな方法に遭遇したはずです。 この方法は、ローカルシステムにダウンロードするすべての形式とデータに使用できます。 colabでのデータのアップロードを面倒なプロセスにする代わりに、CurlWgetを使用します。 CurlWgetを介してデータが読み込まれたら、google colabを使用して前処理データを保存し、何度も前処理を行わないようにします。
これがお役に立てば幸いです。大規模なデータセットを簡単に処理できるようになるかもしれません。
著者について
私は現在、メスラのBITで3年生のShreyaShuklaです。 私とつながる LinkedIn、このようなハックにもっと興味がある場合、またはデータサイエンスと機械学習について学びたい場合は、メッセージを残してください。
CurlWget Extensionに関するこの記事に示されているメディアは、Analytics Vidhyaが所有しておらず、作成者の裁量で使用されています。