読者です 読者をやめる 読者になる 読者になる

Flow-Developers

Raspberry Pi, Raspbian, python, ROS, IoT, 電子工作, 機械学習, Deep learning, サッカー, スポーツ写真, ライフハック

Windows + Anaconda(python),簡単便利なDeepLearning環境の作り方!

はじめに

ANACONDAを使えば,WindowsOSでもPython開発環境を簡単に作れる.

  • 今回は,ANACONDAで画像処理とDNNやるときに,かつProxy環境下で使う場合の設定方法についてまとめる.

f:id:flow-dev:20170423115754j:plain


ANACONDAのInstall

ダウンロードはDownload Anaconda Nowから.

  • 今回は,python2.7をベースとした環境構築で記述する.なので, python2.7 versionをダウンロード.
  • このInstallはガイドに従えば簡単.64bit版推奨.

f:id:flow-dev:20170423115750j:plain

ANACONDAのcondaコマンドをproxy環境で使えるようにする.

proxy環境だと,便利なcondaコマンドが使えなくて困る.設定しよう.

usage

proxy_servers:
    http: http://hoge.com:11110
    https: https://hoge.com:11110

python3.5を個別にInstall

tensorflowを使いたいので,python3の環境をInstallする.

usage

  • Anaconda Prompt.exeを管理者権限で実行(なにかinstallする際はこれで)

f:id:flow-dev:20170423115759j:plain

  • 以下実行すれば,python3.5のコアが導入できる.
  • activate py35 / deactivate py35で,環境を有効無効にできる.
conda create -n py35 python=3.5
activate py35
deactivate py35

tensorflowとkerasとsklearn入れる

tensorflowKerassklearnをinstall. * sklearnはデータ前処理で便利なので入れとく.

usage

  • Anaconda Prompt.exeを管理者権限で実行
  • tensorflowはpython3系じゃないと動かないので,activate py35してから.
activate py35
pip install tensorflow
pip install keras
pip install sklearn
  • proxy越しならこんな感じ.(hogeは置き換えて)
activate py35
pip --proxy http: http://hoge.com:11110 install tensorflow
pip --proxy http: http://hoge.com:11110 install keras
pip --proxy http: http://hoge.com:11110 install sklearn

opencv3とdlibをいれる

opencv3Dlibをinstall. * 画像処理をするのと,画像認識系APIとして双方便利. * menpo使うと簡単他にもライブラリまとまってる.

usage

  • Anaconda Prompt.exeを管理者権限で実行
  • python2.7,python3系どっちでも使えるが,今回はpython2.7がベースとして記述する.
conda install -c https://conda.anaconda.org/menpo opencv3
conda install -c https://conda.anaconda.org/menpo dlib

まとめ

  • これで画像処理やDeepleraningをWindowsOSで始める環境が整いました.
  • ここまで出来れば,chainer入れたりとかはadd-onで出来ます.
  • 簡単なんです.

以上

Visual Stadio Codeで,C/C++開発環境を構築する(Windows)

はじめに


VisualStadioCodeにC++Intellisenseをinstallする

f:id:flow-dev:20170109080711j:plain

GNU GLOBAL(gtags)のinstallする

GNU GLOBAL(gtags)とは,C/C++の参照関係を記述したタグファイルを生成するライブラリ. GNU GLOBAL(gtags)が詳しいので,以下はポイントを簡単に.

ターミナルを立ち上げて,gtags.exeを実行する.

  • VisualStadioCodeで,「指定した関数が参照されている先を検索する」を行いたいC/C++コード群のフォルダを開く.
  • VisualStadioCodeから"Ctrl+@"で統合ターミナル(コマンドプロンプト)を起動する.
  • 以下のコマンドで,gtags.exeを利用して,「指定した関数が参照されている先を検索する」ためのタグファイルを生成する.
> gtags.exe -v
  • GPATH, GRTAGS, GTAGSという3つのタグファイルが生成される.
  • [参考]C/C++コードの参照関係を変更したタイミングで,再度gtags.exeを実行する必要がある.

C/C++コード上で.「すべての参照の検索」を実行する.

  • VisualStadioCodeで,「指定した関数が参照されている先を検索する」を行いたいC/C++コードファイルを開く.
  • 任意の関数を反転させて,右クリックまたは,Shift+F12で,すべての参照の検索を実行する.

f:id:flow-dev:20170109080725j:plain

  • gtags.exeでタグファイルが正しく生成されていれば,参照先の一覧が表示される.

エラー(実行できない)時に確認すべき点

  • 任意の関数を反転させて,右クリックまたは,Shift+F12で,すべての参照の検索が出来ない場合は,C++Intellisenseプラグインからhttp://adoxa.altervista.org/global/の導入が出来ていない
  • ※gtags.exeでタグファイルが正しく生成されていなければ,結果がありませんと出る.上記の環境構築を再確認.

まとめ

flow-developers.hatenablog.com

参考

RaspberryPiにroswwwをinstallするTips

RaspberryPiにroswwwをinstallするTips

  • RaspberryPiにROSをinstallしたのち,rosbridgeとroswwwをinstallすればWebインターフェースを介してRaspberryPi+ROSを制御することができます.
  • RaspberryPi+ROSに接続したカメラの映像をsensor_msg/CompressedImageとし,Webインターフェースに投げて遠隔表示することもコツがわかれば簡単です.
  • 今回はまず,RaspberryPiにroswwwをinstallする方法を書きます.

flow-developers.hatenablog.com


roswwをRaspberrypiにinstallするコマンド

# roswwwのUsrageはこちら.
<http://wiki.ros.org/roswww>

# ROSのworkspaceに移動する.
cd ~/ros_catkin_ws/src

# 最新のroswwwを取得する.
git clone  https://github.com/tork-a/roswww.git

# catkin_makeを実行する.
cd ~/ros_catkin_ws 
sudo ./src/catkin/bin/catkin_make_isolated --install --install-space /opt/ros/indigo --pkg roswww
source /opt/ros/indigo/setup.bash

# [TIPS] launchファイルが2か所に同じ名前であるので、どちらかを消す.
/opt/ros/indigo/share/roswww/launch
か
~/ros_catkin_ws/src/roswww/launch
どちらかの
roswww.launch と start_bridge.launch
を消す.※中身は同じですが競合してlaunch実行がErrになるため.

# 最後にサーバー立つか,実行して確認しinstall完了.
roslaunch roswww start_bridge.launch

まとめ

  • 今回はRaspberryPiにroswwwをinstallするTipsを書きました.
  • launchファイルが2か所に同じ名前であるので、どちらかを消す.がポイントです.
  • rosbridgeのinstall方法はまた次回.

Markdownの書き方(レポート作成に必要な6つの記法)

Markdownの書き方(レポート作成に必要な6つの記法)

  • すぐに忘れてしまう,レポート書くのに最低限必要の記法まとめ

見出し

# 見出し1
## 見出し2
### 見出し3
#### 見出し4

見出し1

見出し2

見出し3

見出し4


箇条書き

* 箇条書き
* 箇条書き
* 箇条書き
- 箇条書き
- 箇条書き
- 箇条書き

  • 箇条書き
  • 箇条書き
  • 箇条書き
  • 箇条書き1
  • 箇条書き2
  • 箇条書き3

引用

>引用

引用


コード引用(python)

```python
print 'Hello world'
```

print 'Hello world'

コード引用(bash)

```bash
#!/bin/bash
echo "Hello World !"
exit 0
```

#!/bin/bash
echo "Hello World !"
exit 0

コード引用(cpp)

```cpp
int main(int argc, char *args[])
{
    printf("Hello, world!\n");
    return 0;
}
```

int main(int argc, char *args[])
{
    printf("Hello, world!\n");
    return 0;
}

リンク引用

[flow-developers](http://flow-developers.hatenablog.com/)

<http://flow-developers.hatenablog.com/>

flow-developers

http://flow-developers.hatenablog.com/


画像引用

![logo](http://k.yimg.jp/images/top/sp2/cmn/logo-ns-131205.png)

logo


テーブル

|左揃え|中央揃え|右揃え|
|:---|:---:|--:|
|align-left|align-center|align-right|
|セルの左揃えです|セルの中央揃えです|セルの右揃えです|

左揃え 中央揃え 右揃え
align-left align-center align-right
セルの左揃えです セルの中央揃えです セルの右揃えです

Markdown環境設定の過去記事はこちらに。 flow-developers.hatenablog.com


以上

pythonでグレースケール→カラーマップ(colormap)変換の関数化

グレースケール→カラーマップ(colormap)変換の関数化

  • グレースケール→カラーマップ(colormap)変換の汎用的サンプルコードがありそうでない。
  • pythonで関数化した。簡単なのでpython以外でも流用可能。
  • IoTブーム。種々のセンサ出力のカラー化に必要になるかと。

Usage

  • 0を中心に+-5を変化終点としたカラーマップ(colormap)
  • RGB(255,255,255)の変化を示すグラフ
  • カラーマップ(colormap)をmatplotlibでカラーバー(colorbar)
  • 用途に応じて範囲等は変更可能な記述とした。

f:id:flow-dev:20161008181320j:plain f:id:flow-dev:20161008171838p:plain


SampleCode

  • サンプルコードはGitHub Gistにupload済。
  • コピペしてご利用ください。

(pandoc不要!)Markdownを簡単きれいにPDF変換する!

はじめに

VisualStudioCodeは、markdownの編集/プレビューも可能な便利なエディタ。

VisualStudioCode

  • しかし、デフォルトではmarkdownをpdf/htmlファイルで出力できない。
  • markdownに興味がない人に、markdwonで書いたドキュメントを渡したい時に困る。
  • 一方で、ググると「pandocを使え」と出てくる。
  • pandocは色々できるけど設定がめんどくさい。 *「もっと簡単に」「まぁ綺麗なフォント」でmarkdownをpdf/htmlファイル出力したいんだよね。
  • markdown-pdfなんてのもあるが、「まぁ綺麗なフォントじゃない」。cssファイルを探す手間とかいらない。
  • なかなか良いのがなかったんですが、ありました!

vscode-markdown-pdfを最高

  • 「もっと簡単に綺麗なフォントでmarkdownをpdf/htmlファイル出力してほしい」
  • このすべてを満たすのがvscode-markdown-pdf

Install

  1. 左下の拡張機能アイコンをクリック
  2. 検索窓にpdfと入力
  3. Markdown PDFをインストールする

f:id:flow-dev:20161006221202j:plain

Usage

2017/2/3追記.画像をたくさん張る場合,各画像をVGA(640x480)くらいにresizeしてからmarkdown->pdfしないとerrで落ちやすい(ver.0.1.5で確認)

  1. Markdown ファイルを開く
  2. 右クリックしてConvert Markdown to PDFを選択するとpdf変換が始まる
  3. ファイル -> 基本設定 -> ユーザ設定settings.json を開く
  4. 以下の設定を変更すると出力フォーマットをpdf , html, png, jpegから選択可能
 // Output format: pdf, html, png, jpeg
    "markdown-pdf.type": "pdf",

* 詳細は公式Readmeで。 vscode-markdown-pdf

今回のページをvscode-markdown-pdfでpdf/html化したスクリーンショット

  • pdf f:id:flow-dev:20160901143344j:plain

  • html f:id:flow-dev:20160901143335j:plain

  • フォントも色もデフォルトのままでまぁ綺麗。


まとめ

参考文献

vscode-markdown-pdf

Rapsberry pi(Raspbian Jessie)でTensorFlowを動かしてみた。

はじめに

TensorFlowGoogleオープンソースで公開した機械学習のライブラリ。ディープラーニング実装でTensorFlowが流行るかなと思ったが、サポートOSはMacOS/linuxOS/iOS。残念ながらWindowsOSは未サポート。それなら、Rapsberry pi(Raspbian Jessie)で動かないかなと思ったら、ありました。

f:id:flow-dev:20160613101454j:plain


インストール方法

  • tensorflow-on-raspberry-piを利用して、TensorFlow0.8.0の環境をRapsberry pi(Raspbian Jessie)上に作ります。arm用ビルド対応が入ってます。ちなみにGoogleサポート外です。
  • Rapsberry pi2で試しましたが数分で問題なくインストール出来ました。
$ sudo apt-get install python-pip python-dev
$ wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/raw/master/bin/tensorflow-0.8.0-cp27-none-linux_armv7l.whl
$ sudo pip install tensorflow-0.8.0-cp27-none-linux_armv7l.whl

MNISTをTensorFlow + Rapsberry pi(Raspbian Jessie)で動かしてるスクリーンショット

  • 手書き文字学習の定番、MNIST For ML Beginnersを動かしてみました。
  • CPU負荷325.6%!で、ゆっくりMNISTを計算してくれます。

f:id:flow-dev:20160613092937p:plain

まとめ

Rapsberry pi(Raspbian Jessie)でTensorFlowを動かしてみました。Rapsberry piでTensorFlowも動いちゃうなんて面白いですよね。ではまた。

参考文献

TensorFlow

tensorflow-on-raspberry-pi

MNIST For ML Beginners