カッティングボード

カルマをカットしてます

yoloが動くDockerイメージを作る

はじめに

yoloが動作する機械学習ノードをいい感じに作っていたのですが,コミットしていたイメージがでかくなりすぎてpullできなくなってしまいました.

どうも15GBあたりのイメージになるとメモリ関連とかでpullできなくなってしまうらしいです.

コミットしていたりして使えなくなるとひたすらに辛さを感じるので,ちゃんとDockerfile書きました.

Dockerfile

FROM nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04
RUN apt update -y  && apt upgrade -y
RUN apt -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip vim
RUN mkdir /root/Sources

WORKDIR /root/Sources

RUN git clone https://github.com/opencv/opencv.git
RUN git clone https://github.com/opencv/opencv_contrib.git
RUN mkdir opencv/build

RUN cd opencv/build && cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/root/Sources/opencv_contrib/modules -D WITH_CUDA=ON .. && make -j5 && make install
RUN ldconfig

ADD darknet /root/darknet
WORKDIR /root/darknet
RUN make -j5
RUN make install

説明

使用するイメージの検討に関しては↓の記事を読んで検討してください. cut-ter.hatenablog.com

基本的に最初はopencvをビルドして,その後にyoloのビルドをしています.

yoloのビルドは,Makefileで色々パラメータをいじる必要があるので外部からADDするようにしています.

Dockerfileと同階層に↓からyoloを持ってきて,Makefileをお好きなパラメーターに書き換えてください.

pjreddie.com

Opencvとcudaを使用するように設定して動作することは確認してあります.

Dockerでビルドした後に軽量化とかしてないのでひたすらにでかいのでよくないDockerイメージの例ですね.

Dockerのあるバージョンからビルド部分を切り離したりできるようになったらしいのでその辺調べてイメージをちゃんと軽量化したらdockerhubとかにあげたいですね.

今年もアドベントカレンダー完走した

はじめに

このブログは下のアドベントカレンダーの25日目の記事です. adventar.org

初日を書いたのがついこの間のような気がしますが,もう25日たったんやなー.

個人的に振り返ってみる

下が1日目の記事ですね. cut-ter.hatenablog.com

今見ても完全にゴミって感じですね.Twitterのリンク貼ればいいのにスクショ貼ってるし,なんか適当に赤く塗りつぶしてる画像がリンク貼った時に出てくるし.

リンクを見てリンクを踏もうかなって思えないやつですよね.

今月結構ブログをかいてて,ちゃんと書くかーってきめて書いた日はリンクの時に出てくる画像とかもこだわったりしてみたりしてました.

下のゆかりさんのやつとかは結構画像にこだわったりしてました.

でもなんかリンク踏もうとするとお探しのブログは見つかりませんとか出るのでもしかしたらなんかよくない内容を書いてたのかもしれない.

cut-ter.hatenablog.com

まぁ1日目に比べると途中は,はてなブログの扱いにも慣れてきて徐々にましな感じになっていったかなと思います.

全体的に振り返る

現状のアドベントカレンダーの画像を貼るとこんな感じですね. f:id:cut-ter:20171225174640p:plain

25日に関してはこのブログなのであれですが,見事にきれいに埋まってるなー.

まぁ去年に引き続きって感じですが,一人で複数回書いてくれてる人が結構いてその人たちに支えられて完走できたかなって感じですね.

そういえばどこにも書いてなかったですが,この記事を時間内に上げることさえできれば見事完走って感じですね.

誰か遅刻してたような気がしなくもないけどまぁ細かいことは気にしない.

なんだかんだ言って25日しっかりと完走できてるアドベントカレンダーって多くはないのでこれはまぁまぁ誇れることかなって思いますね.

団体とかでアドベントカレンダーやってればまぁ完走できるけど,ごく限られた身内だけで回してて完走できたのは普通に嬉しいですね.

去年に比べると「誰か頼む書いてくれ」って感じなのはなく,いつの間にか全体的に埋まってるって感じでした.

みんな社会人になってしまうので来年以降は,こんな感じでアドベントカレンダーできないかもしれないのでとりあえず今年完走できてよかったなって感じです.

できればまた来年もやりたいな〜って感じですね.

まぁダラダラと書きましたが,アドベントカレンダーに参加してくれた人,読んでくれた人たちありがとうございました.

f:id:cut-ter:20171225175320p:plain

停電復旧作業

今年の停電は短く、昨日一日で終わったらしいので復旧作業をしに行ってきました。

とはいっても研究室の普及作業自体はなまずんがやってくれていたので、個人ノードとか僕が管理してる機械学習ノードの復旧作業とかやってました。

個人ノードは特に問題なく立ち上がりました。

機械学習ノードに関してはなぜかnvidia-dockerが壊れました。nvidia-dockerのボリューム周りの権限がおかしくなってて、コンテナが立ち上がらなくなってしまいました。停電作業時にコンテナを終了せずに、ホストノードを殺してしまったのがよくなかったかもしれないです。

nvidia-dockerの復旧方法を調べながら色々やっていたのですが、途中複数のサイトを参考に作業してしまった影響で取り返しがつかなくなってきてしまったのであきらめてOS自体を再インストールして対応することにしました。

これは結局終わらんかったので明日引き続きやります。

研究室のラック間のハブを新しくした影響で、ハブが余ったので僕の使っていたくっそ古びたハブを交換したら9倍くらい速度が出るようになりました。

僕の使ってたハブが100Mbpsだったというオチなので、ハブはちゃんと1Gbps対応してるかどうか確認しような

MagicTrackpad2のすゝめ

最近かなりでかいディスプレイをつかっている関係で,ノートPCのディスプレイを作業時に使わないことが多いです.

キーボードは簡単に外付けのやつが使えますが,MacBookで普通の外付けマウスを使うとひたすらに操作しづらいです.

MagicTrackpad2というApple公式の外付けBlootooth式のトラックパッドがあるのでそれを買ってみました.

Apple Magic Trackpad 2 MJ2R2J/A

Apple Magic Trackpad 2 MJ2R2J/A

実際に写真で撮ると↓みたいな感じです.

f:id:cut-ter:20171223231655j:plain

充電とかに関してですが,これは充電しながら使えるので特に気にしなくても大丈夫です.

Apple公式のマウスのやつは充電口が裏についてて,充電しながら使えないので注意.

2の方ではないMagicTrackpadは,充電式ではなく乾電池式なので注意してください.僕は乾電池式あまり好きではないのであまり購入を考えていませんでした.

2の方は天面がガラスになっていて結構触りごごち良いです.iPhoneとかの表面に似てるような気がしないでもないです.ガラスなので割れる可能性をはらんでいるので,その辺が心配な人は1の方を買ったほうがいいかもしれないです.

Apple Magic Trackpad MC380J/A

Apple Magic Trackpad MC380J/A

大きさ的には普通のトラックパッドよりも大きくかなり使いやすいです.実際今の所使っていて特に問題はないです,

問題としてはちょっと高いのが辛いですね,

エレコムとかの安いトラックパッドとかもあるので,値段重視な人はその辺とかも検討してみるといいかもしれません.

外付けトラックパッドと外付けキーボードを使うことで完全にMacBook本体とおさらばできるので,大きいモニターとか複数枚モニターを使っている人は検討してみるといいと思います.

机の上をかなり広く使えるようになります.

停電作業

明日大学全体が停電するので研究室のサーバーを全部落とす作業してました.

やった作業

  • シャットダウン
  • 余ってるメモリの整理
  • スイッチングHUBの置き換え
  • LANケーブルの配線の整理

シャットダウン

これはひたすらにシャットダウンコマンドを入力していくだけですね.

これは特に普通にシャットダウンするのと変わらないですねー

余ってるメモリの整理

壊れたノードから回収したりしたメモリが6枚あったので,メモリチェックをしてました.

普段だとノードが動いててメモリチェックするためのノードがないので,停電作業中にやっと来ました.

1ヶ月前くらいになりますが,PXEブートにメモリチェックを仕込んでおいたので特にイメージ用意したりする必要なかったのでだいぶ楽でした.こういうことあるのでPXEブートにいろいろ仕込んでおくのは便利ですね.

スイッチングHUBの置き換え

研究室にはノードが置いてあるラックが2つあり,ラック間を1Gbpsでつないでいました.

研究室の環境を変更した影響で,ラック間の通信が増える可能性があったので10Gbpsに置き換えようってことで↓のスイッチングHUBに新しくしました.

10GBpsのポートが2つしかありませんでしたが,ラック間の速度を増やしたかったので十分でした.

kakaku.com

LANケーブルの配線

ラックにノードが11台あって,適当にLANケーブルが取り回されていてぐちゃぐちゃだったで整理しました.

新しくしたスイッチングHUBを最上段に配置して,最上段から垂らす形にしました.

f:id:cut-ter:20171222230822j:plain

beforeを撮っていなかったのであれですが,一応最初に比べればだいぶきれいになりました.

電源コードとかのせいでまだ汚いので,復旧作業の時にまたきれいにしたいですね.

研究室でクリスマス会やった

研究室でクリスマス会とLT会が開催されました.

食べ物に関しては,ケーキが先生から提供.ピザはM2の先輩.ケンタッキーをM1の同期3人で提供しました.

飲み物とかはみんなで割り勘で用意したのですが,めっちゃ豪勢でした.

普通にケンタッキーとピザ食べたらお腹いっぱいで,最後ケーキ食べるの結構つらかったです.

食事

ピザと見切れたケンタッキー f:id:cut-ter:20171221213953j:plain

チーズケーキとチョコレートケーキ f:id:cut-ter:20171221213957j:plain

チョコレートケーキの一切れ f:id:cut-ter:20171221214004j:plain

チョコレートケーキは死ぬほど美味しかったです.

LT会

LT会は参加者11人で,最初の一人がビデオ映像という異例のスタートでした.

今回どういう発表があったのか一人ずつメモるのを忘れてしまったので,細かいことは書けないです.

全体的にペアプロの話だったり,コマンドの話だったり技術的な話が多かったです.

そんな中僕は最近買ったものリストを全て神で締めくくるという謎LTをしてました.

コマンドの話をしてる人が,コマンド言い当てたら0.01モネロチャレンジをしてて見事に0.01モネロ獲得しました.

しかし,出金手数料に0.03モネロかかるらしいのでもう少しモネロを手に入れないと出金すらできないので辛いです.

結構楽しかったので,定期的にLT会とかやったりしたい感あるなー.

kindle を買って得たものと失ったもの

2週間くらい前に開くPCバックを買った結果,見事に本がバックに入らなくなったのでkindle買うかーって感じでkindleを衝動買いしました.

買うとき調べてみたらkindleって結構種類あるんですよね.解像度が違ったり,容量が違ったり,広告付きかそうじゃないか,無料で3G使えるやつとか.あんまり周りに使ってる人いなかったりで結構迷いました.

解像度はさすがに低いと嫌だなーと思い一番安いkindleはやめました.

その後3G回線に関しては,家でまとめて入れとけばいいよなって思って3Gなしのにしました.

容量に関しては二千円くらいで4GBと32GBの違いだったので多いほうがいいなぁと思って多いほうにしました.

広告付きかそうじゃないかは結構迷いましたが,まぁ安いし広告ついててもいいかと思って広告付きにしました.

結果としては↓のを買いました.

広告とかはそこまで気にならないし広告モデルで特に問題ありませんでした.容量にそんなに本を入れてないので,4GBでも問題なかったのではと思う節はあります.しかしながら全体としては満足です.

前置きはこれくらいにしてタイトルの話を進めていきます.

得たもの

QOLとはquality of lifeのことで生活の質ですね.

なんかこう書くと馬鹿みたいなこと言ってるみたいですが,日々の生活の質が本当に上がった気がします.

まず,ひたすらに軽い.本と比べると驚くくらい軽いです.バックが軽くなるだけで日々の生活がだいぶ楽になります.

2つ目に複数の本を常時持ち歩けます.電車の中で本を読み終わってしまって,やることがなくなるという経験をしたことがある人は結構いると思います.kindleはそんなことありません.複数の本が入ってるので読み終わったら次の本を読めばいいのです.

3つ目に片手で持てることです.片手で読み進めることができるのでまぁまぁ混んでる電車の中とかでも立ちながら読めます.就活で都心いくことが最近多いので,電車の中で自由に本が読めるのは最高です.

失ったもの

kindle買ったことにより失ったと表現してるわけではないです.

kindleだと簡単に本が買えすぎてしまえて,バンバン本を買ってしまいます.読み終わったら買うかって感じでぽちぽちできてしまうので結構買ってしまいます.まぁ便利な点でもあるのでなんとも言えないです.

kindleはマジで便利なのでみんな買ったほうがいいです.