本記事のキャプチャ画像は2019年9月8日時点のものです。
ディープラーニングに興味を持ち始めてから、勉強を始めていますが、扱うプログラミング言語は「Python」が良いみたいです。
Pythonをいざ勉強するとしても、プログラミング言語は自分で手を動かして動作確認してなんぼなので、プログラミングできる環境を整備する必要があります。
端末もしくはクラウド環境にサーバを立てて、PHPをインストールして・・・とプログラミング環境を準備するだけでも敷居が高く面倒くさそうな香りがプンプンします。
Google Colaboratoryを使えば、簡単にPythonの学習環境を整備できるため、手元にPython学習がない人はオススメです。
・これからPythonを勉強しようとしている人
・これからディープラーニングを勉強しようと思っている人
・Google Colaboratoryを使おうと思っている人
目次
Google Colaboratoryとは?
Google ColaboratoryはGoogleクラウド環境で稼働するJupyter Notebook環境で無料で使うことができます。
このJupyter Notebookは、「文章」「プログラム」「プログラムの実行結果」を管理できるツールになります。コードセル単位でプログラムを実行させることができ、動作確認できるのが特徴です。
Google Colaboratoryをとりあえず触ってみる
とりあえず、Google Colaboratoryを使ってみることにします。
Google Colaboratoryを使うのに必要なのは「Googleアカウント」のみです。

使い方は簡単。Google Colaboratoryにアクセスすれば使えます。
「メニューバー」→「ファイル」→「Python3の新しいノートブック」で新規にノートブックを開きます。そして、コードセルに「Hello World」を出力するコードを入力して「Shift + Enter」を押すと以下のような感じで入力コードを実行することができます。
このGoogle Colaboratory環境の容量はどれくらいあるのかな?と思い、dfコマンドで確認してみると、20GB以上使えそうだったため、お勉強環境としては十分ですね。
1 2 3 4 5 6 7 8 | !df -h Filesystem Size Used Avail Use% Mounted on overlay 49G 26G 21G 56% / tmpfs 64M 0 64M 0% /dev tmpfs 6.4G 0 6.4G 0% /sys/fs/cgroup tmpfs 6.4G 8.0K 6.4G 1% /var/colab ・・・ |
カレントディレクトリは「/content」とのこと。
1 2 3 | !pwd /content |
カレントディレクトリにどんなファイルがあるのかlsコマンドで確認してみると、「sample_data」というディレクトリがありました。
1 2 3 4 5 6 7 | !ls -la total 16 drwxr-xr-x 1 root root 4096 Aug 27 16:17 . drwxr-xr-x 1 root root 4096 Sep 8 06:34 .. drwxr-xr-x 1 root root 4096 Sep 4 16:06 .config drwxr-xr-x 1 root root 4096 Aug 27 16:17 sample_data |
「sample_data」ディレクトリの中身を確認してみると、ディープラーニングの学習用データ(NNISTのデータファイル)っぽいものがありました。
ちなみに、MNISTデータセットは機械学習用の「0〜9までの手書き文字」画像データ集になり、その数は訓練画像で60,000枚、テスト画像で10,000枚になります。画像は28✕28ピクセルのモノクロ画像でそんなにサイズは大きくありません。
Furthermore, the black and white images from NIST were normalized to fit into a 28×28 pixel bounding box and anti-aliased, which introduced grayscale levels.
The MNIST database contains 60,000 training images and 10,000 testing images.
MNIST database
引用元:Wikipedia
1 2 3 4 5 6 7 8 9 | !ls -l sample_data total 55504 -rwxr-xr-x 1 root root 1697 Jan 1 2000 anscombe.json -rw-r--r-- 1 root root 301141 Aug 27 16:17 california_housing_test.csv -rw-r--r-- 1 root root 1706430 Aug 27 16:17 california_housing_train.csv -rw-r--r-- 1 root root 18289443 Aug 27 16:17 mnist_test.csv -rw-r--r-- 1 root root 36523880 Aug 27 16:17 mnist_train_small.csv -rwxr-xr-x 1 root root 930 Jan 1 2000 README.md |
作成したノートブックはGoogle Driveに保存されます。
Google Colaboratoryで作成したノートブックは「.ipynb」という拡張子のファイルでGoogle Driveに保存できます。そして、ファイル名は画面上段に表示されているファイル名をクリックしたら文字入力モードになり、変更可能です。
ファイル保存は「メニューバー」→「ファイル」→「保存」もしくは「Ctrl + S」でできます。
Google Driveを見てみると、ちゃんとノートブックのファイルが保存されてますね。
Google Colaboratory環境のPythonパッケージ一覧(2019年9月8日時点)
Pythonではいろんなモジュールを読み込んでプログラミングすることになりますが、Pythonパッケージ管理ツールの「pip」コマンドを使えば、Google Colaboratory環境にどんなパッケージがインストールされているのか確認することができます。
ディープラーニングで使いそうな
- Keras
- numpy
- pandas
- sklearn
- sklearn-pandas
- tensorflow
などのライブラリは一通りインストールされてそうです。
不足していた場合はpipコマンドで追加インストールできる点が良いですね。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | !pip list Package Version ------------------------ --------------------- absl-py 0.8.0 alabaster 0.7.12 albumentations 0.1.12 altair 3.2.0 astor 0.8.0 astropy 3.0.5 atari-py 0.1.15 atomicwrites 1.3.0 attrs 19.1.0 audioread 2.1.8 autograd 1.3 Babel 2.7.0 backcall 0.1.0 backports.tempfile 1.0 backports.weakref 1.0.post1 beautifulsoup4 4.6.3 bleach 3.1.0 blis 0.2.4 bokeh 1.0.4 boto 2.49.0 boto3 1.9.220 botocore 1.12.220 Bottleneck 1.2.1 branca 0.3.1 bs4 0.0.1 bz2file 0.98 cachetools 3.1.1 certifi 2019.6.16 cffi 1.12.3 chainer 5.4.0 chardet 3.0.4 Click 7.0 cloudpickle 0.6.1 cmake 3.12.0 colorlover 0.3.0 community 1.0.0b1 contextlib2 0.5.5 convertdate 2.1.3 coverage 3.7.1 coveralls 0.5 crcmod 1.7 cufflinks 0.14.6 cvxopt 1.2.3 cvxpy 1.0.25 cycler 0.10.0 cymem 2.0.2 Cython 0.29.13 daft 0.0.4 dask 1.1.5 dataclasses 0.6 datascience 0.10.6 decorator 4.4.0 defusedxml 0.6.0 descartes 1.1.0 dill 0.3.0 distributed 1.25.3 Django 2.2.4 dlib 19.16.0 dm-sonnet 1.34 docopt 0.6.2 docutils 0.15.2 dopamine-rl 1.0.5 easydict 1.9 ecos 2.0.7.post1 editdistance 0.5.3 en-core-web-sm 2.1.0 entrypoints 0.3 ephem 3.7.7.0 et-xmlfile 1.0.1 fa2 0.3.5 fancyimpute 0.4.3 fastai 1.0.57 fastcache 1.1.0 fastdtw 0.3.2 fastprogress 0.1.21 fastrlock 0.4 fbprophet 0.5 feather-format 0.4.0 featuretools 0.4.1 filelock 3.0.12 fix-yahoo-finance 0.0.22 Flask 1.1.1 folium 0.8.3 fsspec 0.4.3 future 0.16.0 gast 0.2.2 GDAL 2.2.2 gdown 3.6.4 gensim 3.6.0 geographiclib 1.49 geopy 1.17.0 gevent 1.4.0 gin-config 0.2.1 glob2 0.7 google 2.0.2 google-api-core 1.14.2 google-api-python-client 1.7.11 google-auth 1.4.2 google-auth-httplib2 0.0.3 google-auth-oauthlib 0.4.0 google-cloud-bigquery 1.14.0 google-cloud-core 1.0.3 google-cloud-datastore 1.8.0 google-cloud-language 1.2.0 google-cloud-storage 1.16.1 google-cloud-translate 1.5.0 google-colab 1.0.0 google-pasta 0.1.7 google-resumable-media 0.3.3 googleapis-common-protos 1.6.0 googledrivedownloader 0.4 graph-nets 1.0.4 graphviz 0.10.1 greenlet 0.4.15 grpcio 1.15.0 gspread 3.0.1 gspread-dataframe 3.0.3 gunicorn 19.9.0 gym 0.10.11 h5py 2.8.0 HeapDict 1.0.0 holidays 0.9.11 html5lib 1.0.1 httpimport 0.5.16 httplib2 0.11.3 humanize 0.5.1 hyperopt 0.1.2 ideep4py 2.0.0.post3 idna 2.8 image 1.5.27 imageio 2.4.1 imagesize 1.1.0 imbalanced-learn 0.4.3 imblearn 0.0 imgaug 0.2.9 importlib-metadata 0.20 imutils 0.5.3 inflect 2.1.0 intel-openmp 2019.0 intervaltree 2.1.0 ipykernel 4.6.1 ipython 5.5.0 ipython-genutils 0.2.0 ipython-sql 0.3.9 ipywidgets 7.5.1 itsdangerous 1.1.0 jax 0.1.43 jaxlib 0.1.26 jdcal 1.4.1 jedi 0.15.1 jieba 0.39 Jinja2 2.10.1 jmespath 0.9.4 joblib 0.13.2 jpeg4py 0.1.4 jsonschema 2.6.0 jupyter 1.0.0 jupyter-client 5.3.1 jupyter-console 5.2.0 jupyter-core 4.5.0 kaggle 1.5.5 kapre 0.1.3.1 Keras 2.2.5 Keras-Applications 1.0.8 Keras-Preprocessing 1.1.0 keras-vis 0.4.1 kiwisolver 1.1.0 knnimpute 0.1.0 librosa 0.6.3 lightgbm 2.2.3 llvmlite 0.29.0 lmdb 0.97 lucid 0.3.8 lunardate 0.2.0 lxml 4.2.6 magenta 0.3.19 Markdown 3.1.1 MarkupSafe 1.1.1 matplotlib 3.0.3 matplotlib-venn 0.11.5 mesh-tensorflow 0.0.5 mido 1.2.6 mir-eval 0.5 missingno 0.4.2 mistune 0.8.4 mizani 0.5.4 mkl 2019.0 mlxtend 0.14.0 more-itertools 7.2.0 moviepy 0.2.3.5 mpi4py 3.0.2 mpmath 1.1.0 msgpack 0.5.6 multiprocess 0.70.8 multitasking 0.0.9 murmurhash 1.0.2 music21 5.5.0 natsort 5.5.0 nbconvert 5.6.0 nbformat 4.4.0 networkx 2.3 nibabel 2.3.3 nltk 3.2.5 nose 1.3.7 notebook 5.2.2 np-utils 0.5.11.1 numba 0.40.1 numexpr 2.7.0 numpy 1.16.5 nvidia-ml-py3 7.352.0 oauth2client 4.1.3 oauthlib 3.1.0 okgrade 0.4.3 olefile 0.46 opencv-contrib-python 3.4.3.18 opencv-python 3.4.5.20 openpyxl 2.5.9 opt-einsum 3.0.1 osqp 0.5.0 packaging 19.1 palettable 3.2.0 pandas 0.24.2 pandas-datareader 0.7.4 pandas-gbq 0.4.1 pandas-profiling 1.4.1 pandocfilters 1.4.2 parso 0.5.1 pathlib 1.0.1 patsy 0.5.1 pexpect 4.7.0 pickleshare 0.7.5 Pillow 4.3.0 pip 19.2.3 pip-tools 3.9.0 plac 0.9.6 plotly 3.6.1 plotnine 0.5.1 pluggy 0.7.1 portpicker 1.2.0 prefetch-generator 1.0.1 preshed 2.0.1 pretty-midi 0.2.8 prettytable 0.7.2 progressbar2 3.38.0 prometheus-client 0.7.1 promise 2.2.1 prompt-toolkit 1.0.16 protobuf 3.7.1 psutil 5.4.8 psycopg2 2.7.6.1 ptyprocess 0.6.0 py 1.8.0 pyarrow 0.14.1 pyasn1 0.4.6 pyasn1-modules 0.2.6 pycocotools 2.0.0 pycparser 2.19 pydot 1.3.0 pydot-ng 2.0.0 pydotplus 2.0.2 pyemd 0.5.1 pyglet 1.4.2 Pygments 2.1.3 pygobject 3.26.1 pymc3 3.7 pymongo 3.9.0 pymystem3 0.2.0 PyOpenGL 3.1.0 pyparsing 2.4.2 pyrsistent 0.15.4 pysndfile 1.3.7 PySocks 1.7.0 pystan 2.19.0.0 pytest 3.6.4 python-apt 1.6.4 python-chess 0.23.11 python-dateutil 2.5.3 python-louvain 0.13 python-rtmidi 1.3.0 python-slugify 3.0.3 python-utils 2.3.0 pytz 2018.9 PyWavelets 1.0.3 PyYAML 3.13 pyzmq 17.0.0 qtconsole 4.5.5 requests 2.21.0 requests-oauthlib 1.2.0 resampy 0.2.2 retrying 1.3.3 rpy2 2.9.5 rsa 4.0 s3fs 0.3.4 s3transfer 0.2.1 scikit-image 0.15.0 scikit-learn 0.21.3 scipy 1.3.1 screen-resolution-extra 0.0.0 scs 2.1.1.post2 seaborn 0.9.0 semantic-version 2.8.1 Send2Trash 1.5.0 setuptools 41.2.0 setuptools-git 1.2 Shapely 1.6.4.post2 simplegeneric 0.8.1 six 1.12.0 sklearn 0.0 sklearn-pandas 1.8.0 smart-open 1.8.4 snowballstemmer 1.9.0 sortedcontainers 2.1.0 spacy 2.1.8 Sphinx 1.8.5 sphinxcontrib-websupport 1.1.2 SQLAlchemy 1.3.8 sqlparse 0.3.0 srsly 0.1.0 stable-baselines 2.2.1 statsmodels 0.10.1 sympy 1.1.1 tables 3.4.4 tabulate 0.8.3 tblib 1.4.0 tensor2tensor 1.11.0 tensorboard 1.14.0 tensorboardcolab 0.0.22 tensorflow 1.14.0 tensorflow-estimator 1.14.0 tensorflow-hub 0.6.0 tensorflow-metadata 0.14.0 tensorflow-probability 0.7.0 termcolor 1.1.0 terminado 0.8.2 testpath 0.4.2 text-unidecode 1.2 textblob 0.15.3 textgenrnn 1.4.1 tfds-nightly 1.2.0.dev201908300105 tflearn 0.3.2 Theano 1.0.4 thinc 7.0.8 toolz 0.10.0 torch 1.1.0 torchsummary 1.5.1 torchtext 0.3.1 torchvision 0.3.0 tornado 4.5.3 tqdm 4.28.1 traitlets 4.3.2 tweepy 3.6.0 typing 3.7.4.1 tzlocal 1.5.1 umap-learn 0.3.10 uritemplate 3.0.0 urllib3 1.24.3 vega-datasets 0.7.0 wasabi 0.2.2 wcwidth 0.1.7 webencodings 0.5.1 Werkzeug 0.15.5 wheel 0.33.6 widgetsnbextension 3.5.1 wordcloud 1.5.0 wrapt 1.11.2 xarray 0.11.3 xgboost 0.90 xkit 0.0.0 xlrd 1.1.0 xlwt 1.3.0 yellowbrick 0.9.1 zict 1.0.0 zipp 0.6.0 zmq 0.0.0 |
Google ColaboratoryはPythonを勉強するのに十分な環境ということが分かったので、今後Pythonの勉強に活用することにします。