【Alexa Skill開発】Alexaに最寄り駅の次発電車の発車時刻を教えてもらう(AmazonEcho)

経緯 Amazon Echoを買ったので、自分でも面白いものが作れないか調べたところ、公式の解説がとてもよくまとまっている。 これなら簡単にできるな・・・ということで、練習問題を少し改造して、最寄り駅の次発、次々発、次々々発の電車の時刻を教えてくれるSk…

pythonを使って連番の画像を一括ダウンロードする

pythonを使って連番の画像を一括ダウンロードするスクリプトを書いたので、まとめておく。(スクリプトは一番下)https://www.xxxxxx/001.jpg https://www.xxxxxx/002.jpg . .というURLのjpgファイルを一括でダウンロードするためには、 url = "https://www.…

pythonを使ってディレクトリを簡単にzip圧縮する

pythonを使ってディレクトリを圧縮する方法を検索すると、リストを作成→zipfileを使って圧縮という方法がよく出てくる。 しかし、この方法は無駄に行数が長くなり面倒。 shutilを使うことで、もっと簡単にディレクトリを圧縮することができることがわかった…

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による学習 モデルの評価 本走行の結果 まとめ つくばチャレンジとは 「つくばチャレンジ」は、つくば市内の遊歩道等の実環境を、移動ロボットに自律走行させ…

ubuntuにopencvを入れる方法(ubuntu16.04,cuda8.0,gtx1070)

経緯 cuda,cudnnを導入したubuntuにopencvを導入しようとすると、make時にエラーが頻発し、なかなか進まない。 一方で、anaconda等を使用してconda install cv2等とするとffmpegがインストールされないため、imshow等の一部の関数が動作しない。よって、今回…

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

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

pythonを使って、ether(LAN)経由で測域センサURGのデータを取得する方法(ROS不使用)

概要 シンプルなプログラムを動かしたいとき一々ROSに頼るのは面倒。よって、ROSを使わなくともURGデータを読み込めるようにした。 ネットを探してもシリアル通信を使ったデータ取得ライブラリばかりでetherを使ったライブラリが殆ど無い。 ようやく見つけて…

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…

ubuntu16.04でkubuntuをインストールしようとするとエラーが出る→その後の対処法

kubuntuの導入失敗 unityから脱却しようかと思い、ubuntu16.04にkubuntuを入れようとしてみた。 ネットで調べると、 $ sudo apt-get install kubuntu-desktopとすれば一発でインストールできるとの事だったので実行してみると途中までうまく行き・・・・ con…

cv2で動画読み込み時にerror: (-215) size.width>0 && size.height>0というエラーが出る場合の対処法(Windows)

概要 ネット上でよく見るWindowsへのcv2導入方法に従ってcv2を導入すると、動画読み込み時(cv2.videoCapture()使用時)に"error: (-215) size.width>0 && size.height>0"というエラーが出てくる。 これはffmpegのDLLがないため、動画が開けずに出てくるエラー…

sshfs中に通信が切れた場合の対処法

sshfsの問題点 機械学習を行う際、基本的に自宅サーバーのフォルダをsshfsでマウントして、作業を行っている。www.robotech-note.com しかし、アンマウントを忘れて通信を切断、スリープしてしまうとマウントポイントが残ったままとなり、以降このディレクト…

linux screen中にマウスホイールでスクロールする方法

sshが切れても学習が継続できるよう、最近はscreenを使って学習をすすめることが多い。 携帯からでも気軽に途中経過見えるし。 しかし、screenの画面はスクロール等が実行できず、過去のログを閲覧することができない。www.robotech-note.com困って検索した…

cv2(openCV)で動画の途中から再生する方法

概要 openCVで動画の任意の地点から再生を開始する方法をまとめる。 これまではwhileループで1フレームずつ取得し読み飛ばしていた。しかし、この方法はあまりにも無駄が多い・・・時間もかかるし、HDDにも悪影響が出そう。 ということで、もう少し効率の良…

pythonでgooglemap情報を扱う(地名から座標を取得、座標から地図画像を取得)方法まとめ

[追記] 2018/08からGoogleMapのポリシーが変わり、APIキーの取得が必須になったようです。 追って対策を調べて記載変更しますが、現状は、このままの方法ではAPIキーのエラーで位置情報の取得ができません。 概要 googlemapデータを機械学習の元ネタにするた…

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

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

ubuntuからgoogle remote desktopを削除する方法(deja-dup-moniter暴走時の対処法)

deja-dup-moniterが起動直後にPCのメモリを全部使用し始めて、パソコンが全く動かなくなったので調査。 メモリ24GBもあるのに全部使いやがるとは・・・。調べると、ubuntu16.04とgoogle remote desktopの相性が悪いらしく、deja-dup-moniterと合わさると悪さ…

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

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

google翻訳のための英語論文(pdf文書)の文末整形ツール(javascript)

概要 英語論文の整形ツールです。以下フォーマットに入れることで「改行を自動で削除」、「"-"で区切られた英単語を連結」し、機械翻訳に適した形に整形します。 本htmlをGoogleChromeで開き、右クリック→「日本語へ翻訳」とすることで、英語論文をコピペす…

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

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

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

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

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

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

pickleをjoblibに変えて保存データサイズを圧縮!

経緯 以前のエントリで述べたとおり、Pickleで1.9GB以上のデータを保存しようとすると、エラーが出て保存できない問題があった。 この問題を、joblibを使うことでコードをほとんどいじらずに解決できることがわかったので、まとめておく。www.robotech-note.…

真にコスパのいい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を用意…

sftp接続でサーバー上のフォルダをマウント(mac,ubuntu)

導入の経緯 macの場合 osxfuse,sshfsのインストール sshfsの実行 ubuntuの場合 感想 (追記) 導入の経緯 以前、サーバー環境の構築で、SCPにてファイル転送を行うことにすると決めた。 それ以来、Filezillaを使ってサーバー上のファイルを見てきた。t-nkb.h…