2019年4月6日土曜日

google colab

colabで物体検出

【秒速で無料GPUを使う】深層学習実践Tips on Colaboratory

【秒速で無料GPUを使う】TensorFow(Keras)/PyTorch/Chainer環境構築 on Colaboratory

・無料GPU
  • K80, 連続12hr利用可能


n1-highmem-2 instance

Ubuntu 18.04

2vCPU @ 2.2GHz

13GB RAM

(GPUなし/ TPU)40GB, (GPUあり)360GB Storage

GPU NVIDIA Tesla K80 12GB

アイドル状態が90分続くと停止

連続使用は最大12時間

Notebookサイズは最大20MB



それなりのサイズのdatasetをdisk上に持ってこれる
RAMはそんなにないので、Pythonのarrayでメモリ上に持っておく量は加減が必要
epochで使うdatasetが大量ならbatch毎に読み込むとか
tutorialとかをこなすには十分



Google colabを開く

https://colab.research.google.com/


新規ノートブックの作成


ファイル > Python3の新しいノートブック を選ぶ。


GPUをアサイン


画面上部のメニュー ランタイム > ランタイムのタイプを変更 で、 ノートブックの設定 を開く
ハードウェアアクセラレータGPU を選択し、 保存 する


GPUが正しくアサインされたか確認


[+]コード から、コード入力用のセルを追加する
セルに下記を入力

import tensorflow as tf
tf.test.gpu_device_name()

矢印マークで実行

下記が出力されると、正しくGPUがアサインされている

'/device:GPU:0'





pythonのバージョン

!pip list

Package                  Version             
------------------------ ---------------------
absl-py                  0.7.1               
alabaster                0.7.12             
albumentations           0.1.12             
altair                   2.4.1               
astor                    0.7.1               
astropy                  3.0.5               
atari-py                 0.1.7               
atomicwrites             1.3.0               
attrs                    19.1.0             
audioread                2.1.6               
autograd                 1.2                 
Babel                    2.6.0               
backcall                 0.1.0               
backports.tempfile       1.0                 
backports.weakref        1.0.post1           
beautifulsoup4           4.6.3               
bleach                   3.1.0               
bokeh                    1.0.4               
boto                     2.49.0             
boto3                    1.9.128             
botocore                 1.12.128           
Bottleneck               1.2.1               
branca                   0.3.1               
bs4                      0.0.1               
bz2file                  0.98               
cachetools               3.1.0               
certifi                  2019.3.9           
cffi                     1.12.2             
chainer                  5.0.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             
cupy-cuda100             5.2.0               
cvxopt                   1.2.3               
cvxpy                    1.0.15             
cycler                   0.10.0             
cymem                    2.0.2               
Cython                   0.29.6             
cytoolz                  0.9.0.1             
daft                     0.0.4               
dask                     0.20.2             
dataclasses              0.6                 
datascience              0.10.6             
decorator                4.4.0               
defusedxml               0.5.0               
dill                     0.2.9               
distributed              1.25.3             
Django                   2.2                 
dlib                     19.16.0             
dm-sonnet                1.23               
docopt                   0.6.2               
docutils                 0.14               
dopamine-rl              1.0.5               
easydict                 1.9                 
ecos                     2.0.7.post1         
editdistance             0.5.3               
en-core-web-sm           2.0.0               
entrypoints              0.3                 
enum34                   1.1.6               
ephem                    3.7.6.0             
et-xmlfile               1.0.1               
fa2                      0.3.5               
fancyimpute              0.4.2               
fastai                   1.0.51             
fastcache                1.0.2               
fastdtw                  0.3.2               
fastprogress             0.1.20             
fastrlock                0.4                 
fbprophet                0.4.post2           
featuretools             0.4.1               
filelock                 3.0.10             
fix-yahoo-finance        0.0.22             
Flask                    1.0.2               
folium                   0.8.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.1.4               
glob2                    0.6                 
google                   2.0.2               
google-api-core          1.8.2               
google-api-python-client 1.6.7               
google-auth              1.4.2               
google-auth-httplib2     0.0.3               
google-auth-oauthlib     0.3.0               
google-cloud-bigquery    1.8.1               
google-cloud-core        0.29.1             
google-cloud-language    1.0.2               
google-cloud-storage     1.13.2             
google-cloud-translate   1.3.3               
google-colab             1.0.0               
google-resumable-media   0.3.2               
googleapis-common-protos 1.5.9               
googledrivedownloader    0.3                 
graph-nets               1.0.3               
graphviz                 0.10.1             
greenlet                 0.4.15             
grpcio                   1.15.0             
gspread                  3.0.1               
gspread-dataframe        3.0.2               
gunicorn                 19.9.0             
gym                      0.10.11             
h5py                     2.8.0               
HeapDict                 1.0.0               
holidays                 0.9.10             
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.6                 
image                    1.5.27             
imageio                  2.4.1               
imagesize                1.1.0               
imbalanced-learn         0.4.3               
imblearn                 0.0                 
imgaug                   0.2.8               
imutils                  0.5.2               
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.4.2               
itsdangerous             1.1.0               
jdcal                    1.4                 
jedi                     0.13.3             
jieba                    0.39               
Jinja2                   2.10               
jmespath                 0.9.4               
joblib                   0.12.5             
jpeg4py                  0.1.4               
jsonschema               2.6.0               
jupyter                  1.0.0               
jupyter-client           5.2.4               
jupyter-console          6.0.0               
jupyter-core             4.4.0               
kaggle                   1.5.3               
kapre                    0.1.3.1             
Keras                    2.2.4               
Keras-Applications       1.0.7               
Keras-Preprocessing      1.0.9               
keras-vis                0.4.1               
kiwisolver               1.0.1               
knnimpute                0.1.0               
librosa                  0.6.3               
lightgbm                 2.2.3               
llvmlite                 0.28.0             
lmdb                     0.94               
lucid                    0.3.8               
lunardate                0.2.0               
lxml                     4.2.6               
magenta                  0.3.19             
Markdown                 3.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.1               
mistune                  0.8.4               
mkl                      2019.0             
mlxtend                  0.14.0             
mock                     2.0.0               
more-itertools           7.0.0               
moviepy                  0.2.3.5             
mpi4py                   3.0.1               
mpmath                   1.1.0               
msgpack                  0.5.6               
msgpack-numpy            0.4.3.2             
multiprocess             0.70.7             
multitasking             0.0.7               
murmurhash               1.0.2               
music21                  5.5.0               
natsort                  5.5.0               
nbconvert                5.4.1               
nbformat                 4.4.0               
networkx                 2.2                 
nibabel                  2.3.3               
nltk                     3.2.5               
nose                     1.3.7               
notebook                 5.2.2               
np-utils                 0.5.10.0           
numba                    0.40.1             
numexpr                  2.6.9               
numpy                    1.14.6             
nvidia-ml-py3            7.352.0             
oauth2client             4.1.3               
oauthlib                 3.0.1               
okgrade                  0.4.3               
olefile                  0.46               
opencv-contrib-python    3.4.3.18           
opencv-python            3.4.5.20           
openpyxl                 2.5.9               
osqp                     0.5.0               
packaging                19.0               
pandas                   0.22.0             
pandas-datareader        0.7.0               
pandas-gbq               0.4.1               
pandas-profiling         1.4.1               
pandocfilters            1.4.2               
parso                    0.3.4               
pathlib                  1.0.1               
patsy                    0.5.1               
pbr                      5.1.3               
pexpect                  4.6.0               
pickleshare              0.7.5               
Pillow                   4.1.1               
pip                      19.0.3             
pip-tools                3.4.0               
plac                     0.9.6               
plotly                   3.6.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.6.0               
promise                  2.2.1               
prompt-toolkit           1.0.15             
protobuf                 3.7.1               
psutil                   5.4.8               
psycopg2                 2.7.6.1             
ptyprocess               0.6.0               
py                       1.8.0               
pyasn1                   0.4.5               
pyasn1-modules           0.2.4               
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.3.2               
Pygments                 2.1.3               
pygobject                3.26.1             
pymc3                    3.6                 
pymongo                  3.7.2               
pymystem3                0.2.0               
PyOpenGL                 3.1.0               
pyparsing                2.3.1               
pyrsistent               0.14.11             
pysndfile                1.3.2               
PySocks                  1.6.8               
pystan                   2.18.1.0           
pytest                   3.6.4               
python-apt               1.6.3+ubuntu1       
python-chess             0.23.11             
python-dateutil          2.5.3               
python-louvain           0.13               
python-rtmidi            1.2.1               
python-slugify           3.0.2               
python-utils             2.3.0               
pytz                     2018.9             
PyWavelets               1.0.2               
PyYAML                   3.13               
pyzmq                    17.0.0             
qtconsole                4.4.3               
regex                    2018.1.10           
requests                 2.18.4             
requests-oauthlib        1.2.0               
resampy                  0.2.1               
retrying                 1.3.3               
rpy2                     2.9.5               
rsa                      4.0                 
s3fs                     0.2.0               
s3transfer               0.2.0               
scikit-image             0.13.1             
scikit-learn             0.20.3             
scipy                    1.1.0               
screen-resolution-extra  0.0.0               
scs                      2.1.0               
seaborn                  0.7.1               
Send2Trash               1.5.0               
setuptools               40.9.0             
setuptools-git           1.2                 
Shapely                  1.6.4.post2         
simplegeneric            0.8.1               
six                      1.11.0             
sklearn                  0.0                 
smart-open               1.8.0               
snowballstemmer          1.2.1               
sortedcontainers         2.1.0               
spacy                    2.0.18             
Sphinx                   1.8.5               
sphinxcontrib-websupport 1.1.0               
SQLAlchemy               1.3.2               
sqlparse                 0.3.0               
stable-baselines         2.2.1               
statsmodels              0.8.0               
sympy                    1.1.1               
tables                   3.4.4               
tabulate                 0.8.3               
tblib                    1.3.2               
tensor2tensor            1.11.0             
tensorboard              1.13.1             
tensorboardcolab         0.0.22             
tensorflow               1.13.1             
tensorflow-estimator     1.13.0             
tensorflow-hub           0.4.0               
tensorflow-metadata      0.13.0             
tensorflow-probability   0.6.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.0.1.dev201904030106
tflearn                  0.3.2               
Theano                   1.0.4               
thinc                    6.12.1             
toolz                    0.9.0               
torch                    1.0.1.post2         
torchsummary             1.5.1               
torchtext                0.3.1               
torchvision              0.2.2.post3         
tornado                  4.5.3               
tqdm                     4.28.1             
traitlets                4.3.2               
tweepy                   3.6.0               
typing                   3.6.6               
tzlocal                  1.5.1               
ujson                    1.35               
umap-learn               0.3.8               
uritemplate              3.0.0               
urllib3                  1.22               
vega-datasets            0.7.0               
wcwidth                  0.1.7               
webencodings             0.5.1               
Werkzeug                 0.15.2             
wheel                    0.33.1             
widgetsnbextension       3.4.2               
wordcloud                1.5.0               
wrapt                    1.10.11             
xarray                   0.11.3             
xgboost                  0.7.post4           
xkit                     0.0.0               
xlrd                     1.1.0               
xlwt                     1.3.0               
yellowbrick              0.9.1               
zict                     0.1.4               
zmq                      0.0.0                

ubuntuのバージョン確認

!cat /etc/issue

Ubuntu 18.04.2 LTS \n \l


ディスク容量


!df -h

Filesystem      Size  Used Avail Use% Mounted on
overlay         359G   23G  318G   7% /
tmpfs           6.4G     0  6.4G   0% /dev
tmpfs           6.4G     0  6.4G   0% /sys/fs/cgroup
tmpfs           6.4G   12K  6.4G   1% /var/colab
/dev/sda1       365G   27G  339G   8% /opt/bin
shm             6.0G     0  6.0G   0% /dev/shm

tmpfs           6.4G     0  6.4G   0% /sys/firmware


RAM容量


!free -h

              total        used        free      shared  buff/cache   available
Mem:            12G        836M        9.9G        2.9M        2.0G         11G

Swap:            0B          0B          0B


CPU情報



!cat /proc/cpuinfo

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU @ 2.30GHz
stepping : 0
microcode : 0x1
cpu MHz : 2300.000
cache size : 46080 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips : 4600.00
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

processor : 1

vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU @ 2.30GHz
stepping : 0
microcode : 0x1
cpu MHz : 2300.000
cache size : 46080 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips : 4600.00
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

GPU情報


!cat /proc/driver/nvidia/gpus/0000:00:04.0/information

Model: Tesla K80
IRQ:    33
GPU UUID: GPU-b326ec49-f657-ad75-b36d-bf455795f341
Video BIOS: 80.21.25.00.01
Bus Type: PCI
DMA Size: 40 bits
DMA Mask: 0xffffffffff
Bus Location: 0000:00:04.0
Device Minor: 0
Blacklisted: No

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

[name: "/device:CPU:0"
 device_type: "CPU"
 memory_limit: 268435456
 locality {
 }
 incarnation: 17679820642583323928, name: "/device:XLA_CPU:0"
 device_type: "XLA_CPU"
 memory_limit: 17179869184
 locality {
 }
 incarnation: 4994606220071157720
 physical_device_desc: "device: XLA_CPU device", name: "/device:XLA_GPU:0"
 device_type: "XLA_GPU"
 memory_limit: 17179869184
 locality {
 }
 incarnation: 10277020030904524337
 physical_device_desc: "device: XLA_GPU device", name: "/device:GPU:0"
 device_type: "GPU"
 memory_limit: 11276822119
 locality {
   bus_id: 1
   links {
   }
 }
 incarnation: 15587524712171966759
 physical_device_desc: "device: 0, name: Tesla K80, pci bus id: 0000:00:04.0, compute capability: 3.7"]


CUDAバージョン

!nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018

Cuda compilation tools, release 10.0, V10.0.130

アサインGPU、Driverの確認

!nvidia-smi

Sun Apr  7 22:29:01 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.56       Driver Version: 410.79       CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla K80           Off  | 00000000:00:04.0 Off |                    0 |
| N/A   47C    P0    54W / 149W |    121MiB / 11441MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

cuDNNの確認




・初期設定





0 件のコメント:

コメントを投稿