Brilliant but cruel

苛立ち、腹を立てて「こんなのはダメだ」と言いたくなったとき。僕はそれらを批判し、否定するネガティブなエントリを投稿する前に、「自分ならこうする」と言い換えることにしています(稀に、エンタメまで昇華できるように努力してみることもあります)。

たとえばですが、

「僕は誤字や脱字に無頓着な人間を信用できない」
「僕は自分を信頼してもらうために、自分が書く文章には誤字脱字がないように特に気をつけています」

言っていることは同じでも、印象は全然違いますよね。

“Brilliant but cruel”
人に対して厳しいことを言う人は、周囲から優秀に見えるという研究があります。これはコミュニティでも往々にしてあることですが、他に対して厳しく当たっていると、短期的には「優秀な人物」という印象を形成できます。

しかし、中長期的には自分を縛る鎖になるので注意が必要です。

他から「あんなこと言ってたけど、自分でもできてねーじゃん」と言われるのが怖くて、一切のミスができなくなる(ように誤解する)と言うことです。ご存じのように、ミスをしない人間はいません。

ネットやコミュニティにはいろいろな人がいて、自分以上の能力の人もいれば、そうでない人もいます。周りに凄い技術者ばかりがいる環境だと忘れがちになりますが、これは重要な事実です。

僕は、僕が考える「簡単なこと」を「しない」のではなく、「今はまだできない」人がいるのだと意識するようにしています。

みんなが少しずつでいいので寛容さをもつと、世界はもっと幸せになると思います。

矩形切り出しツール「Region Cropper」を公開しました

時間を見つけてはTensorFlow関係のあれこれをちまちま続けています。

先日は「なにわTECH道」で、TensorFlowを使ったイラスト顔検出について発表しました。

データセットの作成

これまで、機械学習に使う画像(データセット)の作成にはMacの「プレビュー」を使っていました。
1枚ずつ画像を読み込んでクロッピング(トリミング)していたのですが、1枚の画像に複数の顔があるときや、あとで領域を微調整(特に領域を拡大)したいときが面倒でした。

良さそうなツールがないか、少しばかり探してみたのですが、僕の思い描くような操作性のものがありませんでした。

なければ作れば良い。

そんなわけで、自分で画像の切り出しツールツール「Region Cropper」を開発しました。
1人で使うのももったいないので、GitHubで公開します。

Region Cropper

GitHub: https://github.com/keiji/region_cropper

set_region

GUIのフレームワークに、使い慣れたSwingではなくJava FXを使いました。
そのため、Java 8のUpdate40以降でしかきちんと動きません。

以下、Region CropperのREADME.mdから。


Region Cropper

Requirements

  • Java > 1.8.0_40

Download

Binary(Zip): https://github.com/keiji/region_cropper

使い方(Usage)

$ java -jar region_cropper_main.jar

処理するディレクトリの選択(Select Directory)

select_directory

領域の追加(Add)

ドラッグ&ドロップで領域を設定します。

領域の選択(Select)

現在選択中の領域は赤枠で示されます。

set_region

スペース(Space)キーを押すと、選択中の領域以外の場所がグレーアウトされます。

focus_region

キー 動作
Enter 次の領域へ移動。最後の領域であれば次のファイルを表示
Shift + Enter 前の領域へ移動。最初の領域であれば前のファイルを表示
Tab 次の領域へ移動
Shift + Tab 前の領域へ移動
End 次のファイルを表示
Home 前のファイルを表示

領域の編集(Edit)

キー 動作
方向(←↑→↓) 領域を移動
Alt または Option + 方向(←↑→↓) 領域を「拡大(Expand)」
Windows または Command + 方向(←↑→↓) 領域を「縮小(Shrink)」
削除(Delete) 領域を「削除(Delete)」

Shift を押すと、変化量が小さくなり微調整できます。

ラベルの設定(Label)

数字キーの「0〜9」を押すと、選択した領域にラベルを設定します。
追加した領域のラベルは、標準で 1 が設定されています。

set_label

また、ラベル 0 は負例として特別な意味を持ちます。
負例に設定した領域は、編集や削除ができません。

領域の切り出し(Crop)

領域の切り出しには「Quick crop」と「Crop to…」の2つの方法があります。

menu_crop

「Quick crop」を選択すると、設定している領域を、処理中の画像と同じディレクトリに切り出します。
出力先のディレクトリを設定したい場合は「Crop to…」を選択します。

[出力先のディレクトリ]/label-[ラベル]/[画像名]-[領域番号].png

【続】技術書典に参加したら出版社から販売することになった

先月25日の「技術書典」で頒布した「TensorFlowはじめました」は現在、Amazonにて予約を受付けています

Next Publishing版表紙

有山 圭二 の TensorFlowはじめました 実践!最新Googleマシンラーニング (NextPublishing) を Amazon でチェック!

タイトル TensorFlowはじめました 実践!最新Googleマシンラーニング
判型 A5 → B5
ページ 64ページ
価格 1,620円(Print On Demand), 1,080円(電子書籍版)
発行 インプレスR&D

変更点

これまでお知らせしていた内容からの大きな変更点に『判型』があります。
前回はA5とお伝えしていたのですが、A5では横幅が足りずプログラムリストが読みにくくなってしまうため、同人誌版と同じB5版に変更しました。

また、Kindleをはじめとする電子書籍(EPUB)版は固定レイアウトではなくリフローでの提供になります。
そのため、お使いになる端末や、設定する文字の大きさによっては読みにくくなる場合がありますのでご注意ください。

技術書典に参加したら出版社から販売することになった

このエントリには続報があります。

再販情報

技術書典で頒布した「TensorFlowはじめました」について、このたび、インプレスR&D社さんからPOD(Print On Demand)と電子書籍(リフロー)として販売できる運びとなりました。

tensorflow_ird

タイトル TensorFlowはじめました 実践!最新Googleマシンラーニング
判型 A5
形式 POD, 電子書籍(リフロー)
発行 インプレスR&D

POD(Print On Demand)または電子書籍での販売になります。一般書店では手に入りませんのでご注意ください。
また、具体的なページ数や販売価格などは現在調整中です。

今月中に予約が開始できるよう進めていますので、続報をお待ちください。


以下、6月25日に秋葉原で開催された「技術書典」の感想エントリです。

技術書典でTensorFlowの本を頒布します

このエントリには続報があります。

6月25日に秋葉原通運会館にて開催される「技術書典」に、サークル「めがねをかけるんだ」として参加させていただくことになりました。

「めがねをかけるんだ」では、最近取り組んでいるTensorFlowに関する冊子を頒布いたします。

tf-book

タイトル TensorFlowはじめました CIFAR-10奮闘記
ページ数 64p(本文墨刷)
頒布価格 1,000円
発行 個人サークル「めがねをかけるんだ」