AI/Watson

Caffeの学習済みモデルをTensorFlow向けに変換してみた with Docker

こんにちは。技術研究所の 910 です。
Caffeではモデルの構造や学習方法などをprototxtという設定ファイルで定義できるので、非常に再利用し易く重宝しています。

しかしその一方で、私個人としてはTensorFlowを主軸に使っていきたいなーと思っていたりするので、今回はCaffeの学習済みモデルをTensorFlow向けに変換してみることにしました。

下準備

環境

OS macOS High Sierra Version 10.13 Beta7
Docker Docker for mac Version 17.06.2-ce-mac27 (19124)
変換に利用したライブラリ caffe-tensorflow

当然ではありますが、caffe-tensorflowを使う為にはCaffeとTensorFlowが両方導入されている環境が必要となります。
環境を新たに作るのもなかなか面倒ですし、変換の為だけに環境構築済みのGPUインスタンスを起動するのも勿体無いので、両方共導入済みのDocker imageを利用させていただきました。

続きを読む


Core MLで、Caffeで作った学習済みモデルを使って画像のクラス分類をやってみた

こんにちは。技術研究所のYKです。

9/20(水)に公開されたiOS 11には、Core ML APIという、学習済みモデルをアプリに組み込んで利用できる機能が追加されています。
前々から自分が作った学習済みモデルを手元で使えたらなー、と思っていましたので、この機会にCore MLを試してみることにしました。

ちなみに、Appleが画像のクラス分類のサンプルとして以下のようなソースコードを提供してくれています。

今回はまずImage Classification with Vision and CoreMLを動かしてみて、それから私の手元にあるCaffeの学習済みモデルをiOSアプリに組み込んでみました。

続きを読む


CNTKの環境を構築して動かしてみた

こんにちは。技術研究所の鍋です。

最近、機械学習の分野に触れ始めました。

機械学習用のフレームワークは近年いろいろなところから出ていますが、せっかくなので弊研究所では使ったことがないものを使ってみようということで、Microsoft Cognitive Toolkit(通称:CNTK)を導入して、サンプルコードが動くところまで確認しました。

 

基本的には公式の手順に沿っていますが、個人的に飲み込むのに時間がかかった部分もあったので覚書として残しておきます。

※Step~ は公式の手順に対応しています。

続きを読む


TensorFlowでTFRecordsを使って学習させてみた

こんにちは。技術研究所のYKです。
最近TensorFlowを触り始めて、使ってみたら楽しかったので記事を書くことにしました。

今回はTensorFlowを使って、画像・正解データから単一ファイルのデータセットを作って学習させるところまでやってみました。

なんで単一ファイルにまとめたかったの?

  • こちらに記載があるように、TensorFlowでは画像ファイルを直接読み込んで利用することも可能です。
    しかし、学習用のファイルを単一のファイルにまとめることでデータセットを管理し易くなり、かつ人的ミスが減らせるので、単一ファイルにまとめて扱えるようにしたいと思いました。
    TensorFlowではTFRecordsという形式でデータセットをまとめられるとのことなので、試してみました。

続きを読む


Python3でCaffeの環境構築をやってみた

技術研究所のYKです。 今回、新たにGPU環境を構築する必要が生じたので、そのついでにPython3でのCaffe環境構築を試してみました。 以前もCaffeの環境構築を行いましたが、その時には、情報がより多く出回っているという理由からPython2.7を使用して環境構築を行いました。
しかし、普段の業務やプライベートではPython3系を使っている為、どうせならPython3系を使ってやってみよう!と思い立ったのがキッカケです。 Python2.7での環境構築では手間取らなかったようなところで手間取ったので、(私自身の備忘の為にも)試行錯誤した結果をメモしておきます。

続きを読む


アヒルと “TANSTAAFL”

技術研究所の (あ) です。

弊研究所では機械学習を用いた画像分類などをやってます。
機械学習にもやり方がいろいろありますが、どれも基本的には、「判定したいもの」や「状況」を入力したときに出てくる「答え」が、なるべく正解 (教師データ) と同じに (もしくは近いものに) なるようにするか、あるいは何らかの「ポイント」がなるべく高くなるように学習する、ということをやってます。

すなわち、何らかの評価関数 (コスト関数) の最大値・最小値を探すという、最適化問題を扱っていることになります。この最適化問題に関して、おもしろい名前の定理があります。

その名も「ノーフリーランチ定理 (No-Free-Lunch Theorem)」。”Free Lunch” とは「無料の昼食」のこと。”No Free Lunch” とは「無料の昼食なんてものはない」ということ。

「『無料の昼食なんてものはない』定理」? いったいどういうことでしょう?

続きを読む


シンギュラリティと知性とゾンビ

弊社でも扱っていますが、相変わらず人工知能(AI)や機械学習が世間を賑わわせています。最近では読唇術で人間の能力を上回ったなんていう話 が。「2001年宇宙の旅」の HAL9000 を思い出します。将棋や囲碁でも AI が人間に勝つようになり、「AI が完全に人間を上回るかも?」という話が現実味を帯びてきました。
技術の発展というのは凄いですね。

シンギュラリティ?

技術の発展速度はどんどん速くなっているから、このままある時点まで行くと無限に近い速さになる、というようなことが計算機が発展しだした初期の頃から言われています。
その概念は、特にその「ある時点」をヴァーナー・ヴィンジという SF 作家が 1980年代末に「シンギュラリティ」(Technological Singularity, 技術的特異点) と名づけたことで、広く知られるようになりました。

続きを読む


学会発表してきました (@鳥取)

技術研究所の(あ) です。
クレスコのウェブページのニュースのところにも出ていますが、我々は最近、人工知能 (機械学習) を用いた眼の病気の画像診断という課題に取り組んでおり、ここまでの成果に関して先日、学会発表をしてきました。

今回はその内容を簡単にご紹介します。

光干渉断層計 (OCT)

対象としたのは、OCT と呼ばれる検査機器で得られる画像です。Optical Coherency Tomography の頭文字で、光の干渉を使って立体像を得る装置、といったところです。眼科では、これを使って網膜などのある眼底の様子を、断面を切って見ることができます。造影剤などを用いる必要がなく、患者さんにあまり負担を掛けずに詳しい情報が見られるので、たいへん便利で重宝する検査機器なのです。

続きを読む


Slack、TwitterにWatson質問応答botを作ってみた(後編)

こんにちは、技術研究所のウエサマです。

この記事は、質問すると答えを教えてくれるボットをIBM Watsonで実装し、Slack、Twitterに組み込んで使ってみたという記事(チュートリアル)の後編となります。
今回のポイントはメッセージを受信しWatsonへの問合せを行うスクリプト部分への変更を行うことなく、ボットを稼働させるプラットホームをSlackからTwitterに変更するという点になります。
このようにHubotはプラットホームの違いをAdapterにて吸収してくれるため、開発資産を有効に活用する事ができます。
前編はこちら⇒Slack、TwitterにWatson質問応答botを作ってみた(前編)

続きを読む


Slack、TwitterにWatson質問応答botを作ってみた(前編)

こんにちは、技術研究所のウエサマです。

この記事では、質問すると答えを教えてくれるボットをIBM Watsonで実装し、Slack、Twitterに組み込んで使ってみたという記事(チュートリアル)の前編となります。
尚、今回の記事にて採用したボットはHubotとなります。

歯車 Hubot

Hubotはadapter, robot,script の3つの機能から構成され、ボットの処理はCoffee Scriptを使い記述します。ボットが動作するチャットシステムに依存する部分は、全てAdapterが吸収するため、例えばSlackで動かしてたボットを明日からTwitterで動かします。と言われても、Adapterを変更することで対応できるため開発したscriptはそのまま活用する事ができます。この点は、とてもいいですね。

続きを読む