Caffe のハマりどころ三題

技術研究所の(あ)です。
他の記事もいくつか書きましたが、最近、機械学習をちょこちょこ試してます。その一環で、オープンソースのフレームワークの Caffe での画像分類も試してみました。ウェブ等でいろいろ調べて試行錯誤しつつインストールしたり実行してみたりしたのですが、いくつか凄まじくハマったところがありましたので、それらの点について、同じようなトラブルに出くわした方々のためにここにメモっておきます。

1. インストールでハマったところ

Caffe (version は 1.0.0-rc3 てことでいいのかな?) をインストールしたのは、Ubuntu の載った AWS の GPUインスタンス上に CUDA 7.5 (GPGPU のライブラリ) を入れて、という環境です。

事前に「必要なライブラリ等が多くて、インストールがたいへん」と聞いていましたが、確かにたいへんでした。具体的な手順等は検索するといろいろ出てくるのでここでは端折ります。調べて出てくることに加え、make の途中で既に入れたはずのライブラリが「ない」と言われるので、パスを修正したりシンボリックリンクを張ったり、などの作業はいくつかやりましたが、このへんはまあ、ちょっと Unix に慣れた人ならば普通に対応できる範囲だと思います。

続きを読む


機械学習で自然現象の写真を分類してみる

技術研究所の (あ) です。
前回書いたとおり、ちょいと機械学習を用いた画像分類を試してみる機会がありました。
そうすると、せっかくなので自分の手持ちの写真で試してみたくなります。
手持ちの写真で、判りやすく分類できて、そこそこ数があって、すぐに用意できるものというと…僕の場合こんなのになります。

arcs_rainbows1

虹と環天頂アークと、環水平アーク、後者二つは聞いたことがない人も多いかもしれませんが、太陽の周りにできる暈の仲間です。似てるような似てないような、これらの自然現象の写真の自動分類をやってみます。

続きを読む


Let’s EncryptでSSL証明書を楽々自動更新

はじめまして、ビジネス開発室の『ab』です。
今回は、商用利用も可能な無償の証明書発行サービス『Let’s Encrypt』を紹介したいと思います。

はじめに

弊社のとあるプロジェクトで使用しているredmineはAWS上でセキュアに動いてはいるのですが、
SSL証明書はオレオレ証明書を使用していました。
なので、証明書の有効期限を気にしながら、発行(更新)時はいくつもコマンドを叩いて、確認して・・・
といったとってもメンドクサイ運用をしていました。
そんな面倒な作業から解放されたい・・・
というか、そもそも「オレオレ」ってどうなのよ・・・?
というわけで、それら全てを解決してくれそうなLet’s Encryptを導入してみました。
同じようにそんなモヤモヤから解放されたい!と思っている方の参考になれば嬉しいです♪

続きを読む


WEBセーフカラーとビットマップに出会った日

こんにちは。技術研究所の「110」です。

私は秋期の応用処理技術者試験に向けて勉強中なのですが

今日はそこで私が疑問に思った問題について書きたいと思います。

件の問題は以下のように書いてありました。

“ディスプレイの解像度が800×600画素のとき,最大216色の色数で表示できるパソコンがある。解像度を1,600×1,200画素にしたとき,表示できる最大の色数は幾らか。ここで,主記憶の一部をビデオメモリとして使用することはないものとする。”

これはあるテキストにのっていた過去問題の抜粋なのですが、最大216色というワード。違和感がありませんか?

1ピクセルあたりのビット数で色数が決定するから、色数は2のn乗になる。

テキストにそう書いてあったはず。なのに、216って2の累乗には存在しないのです。

続きを読む


人工知能学会全国大会(第30回)に参加してきました

こんにちは、技術研究所のウエサマです。
人工知能分野における日本の先進的な取り組みや、研究成果を知るため人工知能学会の全国大会(第30回)に参加してきましたので、いくつか紹介したいと思います。
尚、今回の会場は北九州の小倉。
小倉は「焼うどん」、「アーケード商店街」発症の地だそうです。そして世界遺産 官営八幡製鐵所旧本事務所がありますね。
あと初日から気になっていた、駅前にあるシロヤベーカリー。ここのサニーパン、アノン、オムレットはとっても美味しかったです^^

続きを読む


適当にサンプルを選ぶ

技術研究所の(あ)です。
ここ数年の流行りの機械学習ですが、僕もちょっと機械学習を用いた画像分類を試してみる機会がありました。
識別したい対象 (例えば猫) が写っている画像(正例)と、写っていない画像(負例)を用意し、機械学習アルゴリズムで学習させると、「その対象 (猫) が写っているか?」という確信度を返す分類器ができあがります。

試したシステムの説明では「正例と負例は同じくらいの数で学習させるとよい」と書いてありました。

手持ちの写真がたくさん (例えば1万枚) あって、その中に猫の写真が100枚 (集合C としましょう) あったとしたら、猫の写ってない写真を残りの 9900枚 (not-C としましょう) から 100枚選んでやる必要があります。どうせならなるべく偏りがないよう、ランダムにせねばなりません。
C と、not-C から選んだ100枚から、それぞれ同じ割合でランダムに学習用データとテスト用データに切り分ける必要もあります。どうやって選ぶのがスマートかなー、調べれば出てくるよなー、と思ったのですが、その前にちょっと自力で考えてみました。

続きを読む


スプリントプランニングとプランニングポーカーのやり方

こんにちは、技研の「むらたん」です。

先日、客先で開発チームのメンバーとしてスクラムを実践している社員から「スクラムが上手く回っていない」という相談を受けました。

具体的には、以下の内容です。

① プランニングしたポイントがスプリント期間中に膨らみ、予定していた作業を達成できない。その結果、プロダクトオーナーに悪い印象を持たれてしまう。
② ポイントが膨らむ理由は「環境整備」や「調査」のように、プロダクトには直接関係なく、スプリントプランニングで計画しきれていないタスクを行う必要が出てくるためである。
③ そもそも、メンバーによってベロシティが異なるから、ポイント自体の扱い方がよくわからない。

現場を観察しておらず、立ち話で聞いた程度の情報なので外れているかもしれませんが、聞く限りでは以下の印象です。

  • ポイントと工数が同じものとして扱われており、ポイントで見積もることの本質が理解できていない。
  • プロダクトオーナー(PO)、スクラムマスター(SM)、開発チームというロールの役割と責務の認識が正しくない。

今回のエントリーでは、ここから推測される問題について触れたいと思います。

免責事項
以降、スクラムの用語を用いた説明になります。用語の説明はスクラムガイドあたりを参考にしてください。

続きを読む


Cloud9で作るGAE/Go環境

技術研究所(ほ)です。

去年の冬に Chromebook を購入したことをきっかけに、すべてをChromebookで済ませられる環境を目指しています。

そのなかで、先日 GAE/Go で開発を行いましたので、その開発環境の作り方を書きたいと思います。

続きを読む


定型作業の自動化とChatOps

こんにちは、技研の「むらたん」です。

今年度も開発技術SIGを継続することになり、引き続き、リーダーを務めることとなりました。
活動方針は以前のエントリーにもあるとおり、「技術を【自分たちのため】に活用して、プロジェクトの品質・生産性を向上させる」です。

今期のテーマは
「プロジェクト管理基盤の機能強化と全社標準化」
「定型作業の自動化」
としました。「プロジェクト管理基盤」は昨年からの継続活動であるため簡単に、「定型作業の自動化」については、詳しく紹介したいと思います。

続きを読む