Passport 1
「はてな記法」だが、できるようになった!
#include <stdio.h> int main(void) { printf("Hello, world!"); return 0; }
しかし、ソース部の文字のサイズを変更することはできなさそう。うーん、どうも使いづらいシステムだ。。
Unix Alias
Linux を使うようになってきた。ローカル環境で設定している alias コマンドを以下にまとめる。今後どこに環境を移そうがこれをベースに修正していければ。
###General
alias a 'alias'
alias am 'alias | more'
alias ccc 'echo Compile start ; cc -O \!*.c -o \!* -lm -lX11 && echo Compile end'
alias cd 'cd \!*; echo $cwd'
alias cl 'clear'
alias dir 'ls -laF'
alias dirm 'dir | less'
alias f 'finger'
alias fs 'finger XXXXXXXX'
alias h 'history'
alias ki2 'kinput2 &'
alias lo 'exit'
alias lsa 'ls -aF'
alias more 'less'
alias psa 'ps -aux'
alias psm 'ps -aux | less'
alias rm 'rm -i'
alias rmb 'rm *~'
alias rmbx 'rm .*~'
alias rmv 'rm -f .save*'
alias rmail '\xemacs -nw -f mh-rmail'
alias smail '\xemacs -nw -f mh-smail'
alias sc 'source .cshrc'
alias sjis 'nkf -bs \!* > \!*.sjis && rm \!*'
alias seus 'nkf -be \!* > \!*.seus && rm \!*'
alias uums 'uum -s -S'
alias yoko 'more /usr/local/squid/logs/access.log'
###Editor
alias emacs '\emacs -nw'
alias mule '\mule -nw'
alias xemacs '\xemacs -nw'
alias ed 'xemacs'
###Terminal
alias kt1 'kterm -km euc -n black -bg black -fg white &'
alias kt2 'kterm -km euc -n Oldlace -bg Oldlace -fg NavyBlue &'
alias kt3 'kterm -km euc -n AliceBlue -bg AliceBlue -fg NavyBlue &'
alias kt4 'kterm -km euc -n maroon -bg maroon -fg white &'
alias kt5 'kterm -km euc -n seashell2 -bg seashell2 &'
alias kt6 'kterm -km euc -n AntiqueWhite2 -bg AntiqueWhite2 &'
###Graphic
alias xs 'xsetroot -solid'
alias xb 'xsetroot -bitmap ~/img/\!*'
alias xbi 'xsetroot -bitmap /usr/X11R6/include/X11/bitmaps/\!*'
alias xvq 'xv -quit -root \!*'
Anaconda設定とデータ集め
Anaconda Navigator に新しい環境を追加した。
・tensorflow
GPU機能を使わない tensorflow をインストール
・tensorflow-GPU
GPU機能付きのtensorflow をインストール
続いて、公開されている以下のデータを収集。
1) 101料理データ
https://www.vision.ee.ethz.ch/datasets_extra/food-101/
2) 犬猫データ
https://www.kaggle.com/c/dogs-vs-cats/data/ (kaggleサイトでユーザ登録が必要)
3) 102花データ
http://www.robots.ox.ac.uk/~vgg/data/bicos/
1)、2) は種類ごとにフォルダ分けが簡単にできたが、3)は少々やっかいだった。カテゴリ名(花の名前)と枚数の情報は以下にあるが、実際の画像ファイルは、1フォルダの中に全カテゴリを通じて images_0XXXX.jpg の連番で配置されている状態。ファイル名とカテゴリ名の関係が分からず、フォルダ分けが無理っぽい。色々調べると、ダウンロードした一式の中にあるMATLABファイル imagelabels.mat にラベル情報が入っているらしい。
http://www.robots.ox.ac.uk/~vgg/data/flowers/102/categories.html
また、ラベル情報と花の名前の関係・順番は、以下と推測した。
https://github.com/Arsey/keras-transfer-learning-for-oxford102/blob/master/class_labels.py
targets=[
'pink_primrose', // ラベル番号 0
'hard-leaved_pocket_orchid', // ラベル番号 1
'canterbury_bells', // ラベル番号 2
'sweet_pea', // ラベル番号 3
'english_marigold', // ラベル番号 4
...
} ;
imagelabels.mat を以下のような csvファイルに変換し、それと上の構造体をもとにフォルダ分けを実施。一寸面倒くさかった。
0,image_00001.jpg,77 // 77がラベル番号
1,image_00002.jpg,77 // 77がラベル番号
2,image_00003.jpg,77 // 77がラベル番号
...
500,image_00501.jpg,88 // 88がラベル番号
...
これで、3つのデータベースについてフォルダ分けが完了。それぞれ以下のように配置した。詳細は、実際の学習、検証する際に記述する。
¥20190201_foods
¥train
¥valid
¥20190201_dogcat
¥train
¥valid
¥20190201_flowers
¥train
¥valid
※参考サイト(感謝いたします)
https://blog.hayashikun.com/entry/2018/05/12/131711