unittestで同じテストを使いまわしたいときのテンプレートの書き方
import unittest class ParentTest(unittest.TestCase): """ このメソッドはパスされる """ def setUp(self): raise unittest.SkipTest self.someone = None self.target = None def test_template1(self): """ ほかで使いまわしたいメソッド :return: """ self.assertEqual(self.someone, self.target) class TestSomething(ParentTest): """ -> Green """ def setUp(self): self.someone = 1 self.target = 1 class TestSomething2(ParentTest): """ -> !!! Red !!! """ def setUp(self): self.someone = 1 self.target = 2 if __name__ == "__main__": unittest.main()
nvidia-docker 入れて NVIDIA GPU cloud を使ってみた話
chainer with GPU on docker で回そうと思って docker をインストールして見たが、 それだけだとGPUが使えなかったため nvidia-dockerを入れてみた話
事前準備
docker自体を入れる
nvidia-dockerのgithubはこちら
ここ通りにすすめて見るのがよろし。 今回sarrrrryが入れたのは nvidia-docker2です readmeもwiki も充実してるので是非見てみてください。
NVIDIA GPU cloud の話
端的に言えば、 GPU 使う用のAI系ライブラリ これをNVIDIAが事前準備したdocker imageを配布するよ。 その配布場所がNGC (NVIDIA GPU cloud) だよ。 って話。
詳しい話は他で調べてみて!
まずは登録
以下のページの右上の「今すぐ登録する」をクリック
頑張って登録してくたださい。
実際に NVIDIA GPU cloud を使ってみる前に
API登録する必要があります ちなみに僕は見落としていて、ここでつまずきました。
以下のページの右上「get API key」を押して、
同じく右上のgenerate API key をクリック。 出てくる文字をよく読んで 「confirm」 をクリック。
するとpasswordが変化 出てきた以下のようなコマンドをそのまま入力
docker login nvcr.io Username: $oauthtoken Password: hogehogehogehogehogehgoehogehgoehogeoge
これでAPIの登録は完成。
ではイメージを pull していこう。
このへん、をぽちぽちして ライブラリ選んでぽちぽちしてクリックして終了。
ぬわっ!!!!!!!!!!!
まさかのchainerをインストールしたらpython2系しか入ってなかった。 一応設定したので(めんどかったぁ) また記事書きます。
docker 入れてみた
弊社、dockerを使う必要性があまりなかったのと使ってる人があまりいなかったため 今まで簡単にしか使ったことがなかった。
今回、これではエンジニアと呼べないのでは?????? と思いたち、いまさらながら社用PCに chainer with GPU on docker の環境を作成する事にした。
どんな環境にする??
そもそもどういう環境がベストプラクティスなのかすらわからない。 nvidia-dockerとかnvidia-gpu-cloudとか
色々あるらしいけど良くわからんので、
とりあえずまずはGPUとか忘れて
chainer with GPU on docker
まで使えるようにする。
installの前に
dockerはなんとなく分かるけど docker-ce docker-engine docker io っていうのがあるらしい? (最初nvidia-dockerインストールしようとしてて、これが必要と怒られた。)
このサイトが分かりやすいのでみてみてみて
install手順
とりあえずdocker-ceをinstall する。
公式を読んで手順を書いてみる。
旧ver の docker を削除
まず、古いバージョンのdocker入ってたら消してくれとのこと
$ sudo apt-get remove docker docker-engine docker.io
消えた。
apt 関係
apt package の アップデートするよ
$ sudo apt-get update
依存パッケージのインストール
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
GPG鍵を追加する
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
念の為 apt update してから
sudo apt-get update
実際にインストール
$ sudo apt-get install docker-ce
できた!
一応確認
docker ps -a
ちゃんとdockerコマンド叩けたので終了。
markdown 記法のHatena Blogでソースコードを貼り付ける
こちらを参考にしてみたものの上手く出来なかった。
markdown 記法に変更してソースコードを貼り付けてみる
```python
import numpy as npclass Foo:
def bar(self):
a = np.array([1, 2, 3])
return a
```
import numpy as np class Foo: def bar(self): a = np.array([1, 2, 3]) return a
できた!
ついでにgistも
sohtaro.com この通りすすめて・・・
できた!
はじめまして、はじめました
いわゆるAI系の画像認識、物体検出をメインに
休学しながら某ベンチャーで働いているエンジニアです。
エンジニアたるもの、何かアウトプットをしていきたいと思い、ブログはじめました。
技術のこと、関係ないこと、何かをちょっとずつブログに残していければなと考えてます。
それではよろしくお願いします。