Google-colab-invoking-system-commands
提供:Dev Guides
Google Colab-システムコマンドの呼び出し
Jupyterには、多くの一般的なシステム操作のショートカットが含まれています。 Colab Codeセルはこの機能をサポートしています。
簡単なコマンド
システムコマンドechoを使用するCodeセルに次のコードを入力します。
message = 'A Great Tutorial on Colab by finddevguides!'
greeting = !echo -e '$message\n$message'
greeting
さて、セルを実行すると、次の出力が表示されます-
['A Great Tutorial on Colab by finddevguides!', 'A Great Tutorial on Colab by finddevguides!']
リモートデータの取得
リモートサーバーからデータセットを読み込む別の例を見てみましょう。 あなたのコードセルに次のコマンドを入力してください-
!wget http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data -P "/content/drive/My Drive/app"
コードを実行すると、次の出力が表示されます-
--2019-06-20 10:09:53-- http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data
Resolving mlr.cs.umass.edu (mlr.cs.umass.edu)... 128.119.246.96
Connecting to mlr.cs.umass.edu (mlr.cs.umass.edu)|128.119.246.96|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3974305 (3.8M) [text/plain]
Saving to: ‘/content/drive/My Drive/app/adult.data.1’
adult.data.1 100%[===================>] 3.79M 1.74MB/s in 2.2s
2019-06-20 10:09:56 (1.74 MB/s) - ‘/content/drive/My Drive/app/adult.data.1’ saved [3974305/3974305]
メッセージが示すように、 adult.data.1 ファイルがドライブに追加されました。 これを確認するには、ドライブのフォルダーの内容を調べます。 あるいは、新しいコードセルに次のコードを入力します-
import pandas as pd
data = pd.read_csv("/content/drive/My Drive/app/adult.data.1")
data.head(5)
今すぐコードを実行すると、次の出力が表示されます-
同様に、コマンドの先頭に感嘆符(!)を付けると、ほとんどのシステムコマンドをコードセルで呼び出すことができます。 起動できるコマンドの完全なリストを提供する前に、別の例を見てみましょう。
Gitリポジトリの複製
- git *コマンドを使用して、GitHubリポジトリ全体をColabにクローンできます。 たとえば、kerasチュートリアルを複製するには、コードセルに次のコマンドを入力します-
!git clone https://github.com/wxs/keras-mnist-tutorial.git
コマンドが正常に実行された後、次の出力が表示されます-
Cloning into 'keras-mnist-tutorial'...
remote: Enumerating objects: 26, done.
remote: Total 26 (delta 0), reused 0 (delta 0), pack-reused 26
Unpacking objects: 100% (26/26), done.
リポジトリのクローンが作成されたら、Jupyterプロジェクト(例: keras.ipyabのMINST)で、ファイル名を右クリックし、[で開く/共同]メニューオプションを選択して、Colabでプロジェクトを開きます。
システムエイリアス
一般的な操作のショートカットのリストを取得するには、次のコマンドを実行します-
!ls/bin
以下に示すように、出力ウィンドウにリストが表示されます-
bash* journalctl* sync*
bunzip2* kill* systemctl*
bzcat* kmod* systemd@
bzcmp@ less* systemd-ask-password*
bzdiff* lessecho* systemd-escape*
bzegrep@ lessfile@ systemd-hwdb*
bzexe* lesskey* systemd-inhibit*
bzfgrep@ lesspipe* systemd-machine-id-setup*
bzgrep* ln* systemd-notify*
bzip2* login* systemd-sysusers*
bzip2recover* loginctl* systemd-tmpfiles*
bzless@ ls* systemd-tty-ask-password-agent*
bzmore* lsblk* tar*
cat* lsmod@ tempfile*
chgrp* mkdir* touch*
chmod* mknod* true*
chown* mktemp* udevadm*
cp* more* ulockmgr_server*
dash* mount* umount*
date* mountpoint* uname*
dd* mv* uncompress*
df* networkctl* vdir*
dir* nisdomainname@ wdctl*
dmesg* pidof@ which*
dnsdomainname@ ps* ypdomainname@
domainname@ pwd* zcat*
echo* rbash@ zcmp*
egrep* readlink* zdiff*
false* rm* zegrep*
fgrep* rmdir* zfgrep*
findmnt* run-parts* zforce*
fusermount* sed* zgrep*
grep* sh@ zless*
gunzip* sh.distrib@ zmore*
gzexe* sleep* znew*
gzip* stty*
hostname* su*
*echo* および *wget* に対して行ったように、これらのコマンドのいずれかを実行します。 次の章では、以前に作成したPythonコードを実行する方法について説明します。