DeepLearning

grouped convolution(グループ化畳み込み)の概念を理解する

経緯 mobilenetの実装とモデルを調べる中で出てきた概念として、pointwise convolutionとdepthwise convolutionの理解をまとめてきた。今回はその発展系で、grouped convolutionについてまとめる。 mobilenetは基本的に、pointwise convolutionとdepthwise c…

Depthwise convolution(dw畳み込み)の概念を理解する

経緯 前回、CNNモデルのパラメータ・計算量削減手法の一つであるpointwise convolution(pw畳み込み)について解説した。 pw畳み込みはHW方向の次元を削減し計算量とパラメータを減らすものだったが、それの対極をなすものとして、レイヤー方向の次元を削減…

pointwise convolution(1x1の畳み込み)で何をやっているか、概念を簡単に理解する

概要 googlenetやmobilenet等、最近のCNNモデルでは、当たり前の様にpointwise convolution(1x1の畳み込み)を使って次元数を調整する・・・等の説明がなされるけれど、1x1で畳み込んでも結局意味ないじゃん?と最初理解に苦しんだので、自分なりにまとめてお…

【つくばチャレンジ2017】tinyYOLO,YOLO v2を使って対象人物検知モデルを学習させる

目次 目次 つくばチャレンジとは つくばチャレンジ2016における成果と課題 学習データの作成 YOLOによる学習 モデルの評価 本走行の結果 まとめ つくばチャレンジとは 「つくばチャレンジ」は、つくば市内の遊歩道等の実環境を、移動ロボットに自律走行させ…

Jetson TX1,TX2のtegrastatsの各項目の意味とグラフ表示

tegrastatsの各項目の意味 Jetson TX1,TX2において、ホームディレクトリにある以下のtegrastatsというスクリプトを実行することで、TX1,2の現在のステータスを確認することができる。 $ sudo ~/tegrastats RAM 1374/3995MB (lfb 1x4MB) cpu [0%,0%,0%,0%]@17…

anacondaを使ってubuntu16.04にchainer, openCVを導入する

導入のきっかけ これまでpyenv,python2.7を使って開発を行っていたが、python3系が必須のライブラリを使用する必要があり、anacondaに乗り換え。 使ってみると、複数のpython環境を乗り換えることができ、pyenvよりも便利かも。 他でもいろいろ書かれている…

nvidiaドライバを入れたubuntuにVNC接続する際に一部のプログラムが起動しない(segmentation fault)場合の解決策

概要 タイトルのとおり、nvidiaドライバを入れたubuntuサーバーに対して、VNC接続をすると、一部のプログラムが起動しない問題が発生したので、原因とその解決方法を記載する。 環境 Ubuntu16.04(サーバー側) vncにてmateのdesktop環境を使用しログイン chai…

フォルダ内の全画像ファイルに対して一括処理を行う(python)

機械学習を行う際、webでスクレイピングした大量の画像ファイル等を一括で操作したくなることが多い。 その場合ファイル名も拡張子もバラバラで保存されるため、処理する際にいつも悩む。 毎回調べるのもバカらしいので、サンプルとしてまとめておく。 pytho…

pix2pix(GAN)を使ってモノクロのおそ松くんをカラー画像にしてみた

前半に着色結果 後半にpix2pixの導入方法、学習方法 という構成になっている。手っ取り早く導入したいならば、「作業内容」からみるのがオススメ。 概要 結果 人 人工物 その他 (追記)漫画のカラー化もしてみた 作業内容 torchのインストール pix2pixを導入 …

CNN学習時のDropoutの比率(DropoutRatio)についての知見

背景 つくばチャレンジにて、CNN、SlidingWindowを応用して、看板検出を行った。 今回は、学習時のDropout率をどう変えたらいいかについての知見をまとめる。 この辺りの小細工は当たり前に思いつくことだが、あまりまとめられていないように思う。www.robot…

google翻訳が進化しすぎていてやばい

GOOGLE翻訳がDeepLearningで大幅に精度向上したと聞いて、試してみた。 結果としてはかなり使える!!! 英語の苦手な僕にとって、これまで英語論文の購読がストレスのもとだったけれど、これで大分緩和されそう。nlab.itmedia.co.jp SPP-NETの原文を翻訳さ…

【つくばチャレンジ2016】DeepLearningを使ってリアルタイム看板検知をしてみた

つくばチャレンジとは 「つくばチャレンジ」は、つくば市内の遊歩道等の実環境を、移動ロボットに自律走行させる技術チャレンジであり、地域と研究者が協力して行う、人間とロボットが共存する社会の実現のための先端的技術への挑戦です。(下記HPから引用)…

真にコスパのいいGPUはどれか、TFLOPS換算で比較してみた(DeepLearning•機械学習用)[2018/04/25更新 TX2追加]

経緯 友人のPC購入のアドバイスをしていてふと「純粋にTFLOPSと価格だけで比較した場合、どのGPUが一番コスパがいいんだろう?」と疑問に思ったので簡単に調べてみた。 radeonはcuda使えないから論外。GTX900以下、TITAN等は一般的ではないため除外してある…

pythonのpickleでSystemError: error return without exception setが出る原因

pythonで大きなデータをpickleで保存しようとすると、 SystemError: error return without exception setと出て保存ができない。 調べてみると、どうやらpython2系のバグの模様、およそ1.9GB以上のデータを保存しようとするとエラーになる。 これを解決する…

JetsonTK1、TX1にopenCV(cv2も)を導入する方法

openCV導入方法 導入に失敗した場合 参考サイト JetsonTK1にOpenCVを導入するために、いつもどおりopenCVをコンパイルしてみた・・・が、環境が特殊なため、うまく動作しない。www.robotech-note.com いろいろ探していくと、NvidiaがJetson用のOpenCVを用意…

フォルダ分けされた大量の学習画像を一括で読みこむ方法(python)

chainerのサンプルを一通り試して、いざ自分のデータセットを読み込ませよう!と思ったときにまずつまずくのがここ。 どうやって自分の画像データを読み込ませたらいいの??と最初悩んだので、まとめておく。 学習データのファイル構造 まずは、学習データ…

SSHの接続が切れても継続して学習させる方法(screenを使った実行)

sshでログインしてそのまま学習を実行してしまうと、sshのリンクを切ることができず、ノートパソコンを閉じることができなくなってしまう。 学習途中で通信が切れて、これまでの結果が全部消える、なんてことに・・・・。そこで、基本的にはscreenを使ってセ…

pythonでlistをファイルに保存し、読み込む方法(numpyも同様!)

概要 1行ずつlistを書き出し、読み込みを行う方法 listの書き出し listの読み出し pickleを使用する方法(おすすめ!) pickleを使った保存 pickleを使った読み出し さらに応用、圧縮して保存! 概要 listを一時的にファイルに保存し、読み出したいことが良…

GPUのカタログスペック(TFLOPS)と学習時間の関係(chainerのMNISTサンプルからの考察)

趣旨 学習結果(時間) 考察 結果からの知見 高速なGPUから低速なGPUに移行する場合: 低速なGPUから高速なGPUに移行する場合: AI 趣旨 GPUを交換した場合の学習時間の変化を試算したい。 今回は学習時間の試算を行う指標とするため、chainerのMNIST学習サ…

マルレク第三回「パーソナル・アシスタント・システムと 人工知能」に参加してきた。 興味深いトピックまとめ

興味深い言葉 ボイスアシスタント Bengioの意見 各社の人工知能API比較 AIと検索と広告 過去からの検索技術の動向 schema.orgの取り組み 自然言語のグラフ化 まとめ マルレク第三回「パーソナル・アシスタント・システムと 人工知能」に参加してきた。 自然…

gtx1070搭載PCにubuntu16.04,cuda,chainerを導入

他のブログでも幾つか紹介されているが、そのままやってもうまくいかなかったため、自分なりのインストール方法を記載する。 (参考サイト) qiita.com 特にGCCのversion設定あたり、非常に参考になりました。 ubuntuのインストール ドライバのインストール GP…