IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

クラウド時代のオープンソース実践活用

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第87回 Jupyterで「Google Cloud Vision API」を体験 (中井悦司) 2016年4月

はじめに

 今回から数回にわけて、Jupyterを活用したシステム運用・管理のアイデアを紹介していきます。Jupyterは、Webブラウザーの画面上で、Pythonによるデータ分析を実施するツール「IPython Notebook」の機能拡張版として開発がスタートしました。現在では、Python以外の言語にも対応しており、Jupyterが稼働するサーバー上でbashを操作することも可能です。

 今回は、まずは、標準的なJupyterの利用方法として、対話的なデータ分析ツールとしての使い方を紹介します。最近では、機械学習を利用した画像認識サービスなど、データ分析の仕組みをWebアプリケーションから利用する場面も増えてきました。このようなサービスをアプリケーションに組み込む際にも、処理内容に応じたチューニングを事前に実施するような場面で、Jupyterが活用できます。

Jupterの利用方法

 データ分析に使用するPythonのモジュールを導入したサーバー上でJupyterを起動すると、図1のように、Webブラウザーでサーバーに接続して、対話的にPythonのコマンドを実行することができます。

fig01

図1 Jupyterのノートブック画面

 実行結果は、ノートブックの形で記録されていき、以前に実行したコードを修正して再実行するなども簡単に行えます。データ分析の作業では、パラメーターを変更しながら結果を確認していくなど、手作業での試行錯誤が必要な場面も多いため、このような作業の効率化がはかれます。

 また、実行結果を記録したノートブックは、JSON形式の「ノートブックファイル」にエクスポートして取り出すことができます。GitHubを利用してノートブックファイルを公開しておけば、分析手順を他のユーザーと共有することができます。現在、GitHubのWebサイト上では、ノートブックファイルを開くと、図1のようなノートブックの形式で内容が確認できるようになっています。例として、Google Cloud Vision APIを用いて、アイドルグループの画像から「笑顔」の部分を抽出する手順をGitHubで公開しているので、参考にしてください(*1)。

DockerコンテナーでJupyterを利用

 ちなみに、Google Cloud Vision APIは、Googleがクラウドサービスとして提供しているもので、クライアントライブラリーを用いて、インターネット上のサービスを呼び出すことで画像認識処理を行います。このため、クライアントライブラリーを事前に導入した環境でJupyterを起動する必要があります。

 このような環境を準備する際は、Dockerを利用すると便利です。筆者が事前に作成したDockerイメージをDocker Hubで公開していますので、これを用いると、定番のデータ分析ライブラリーに加えて、Googleのクラウドサービス用ライブラリーが導入された環境でJupyterを利用することができます。具体的な手順は、筆者のBlog記事で公開しています(*2)。なお、このイメージには、同じくGoogleがオープンソースとして公開している、DeepLearningのフレームワーク「TensorFlow」も含まれています。TensorFlowについても、興味のある方は、筆者のBlog記事を参考にしてください(*3)。

次回予告

 今回は、データ分析ツールとしてのJupyterの利用方法を紹介しました。次回は、このツールがサーバー運用・管理にどのように役立つのか、その考え方や具体的な利用例を紹介したいと思います。

参考資料

*1 Google Cloud Vision APIクイックツアー

Google Cloud Vision APIのラベリング(画像分類)機能と顔認識機能をクライアントライブラリーから呼び出す手順を解説しています。

*2 Google Cloud Vision APIをJupyterから利用する

DockerイメージからJupyterを起動して、Google Cloud Vision APIを利用する方法を紹介しています。

*3 「TensorFlow Tutorialの数学的背景」シリーズの目次

TensorFlowの公式Tutorialsが提供するサンプルコードの数学的背景を解説しています。

 

++ CTC教育サービスから一言 ++
このコラムでLinuxや周辺技術の技術概要や面白さが理解できたのではないかと思います。興味と面白さを仕事に変えるには、チューニングやトラブルシューティングの方法を実機を使用して多角的に学ぶことが有効であると考えます。CTC教育サービスでは、Linuxに関する実践力を鍛えられるコースを多数提供しています。興味がある方は以下のページもご覧ください。
 CTC教育サービス Linuxのページ
 http://www.school.ctc-g.co.jp/linux/
 

Linux研修トレーニングならCTC教育サービス


 

筆者書籍紹介

Software Design plusシリーズ
「独習Linux専科」サーバ構築/運用/管理
  ――あなたに伝えたい技と知恵と鉄則

本物の基礎を学ぶ!新定番のLinux独習書

中井悦司 著
B5変形判/384ページ
定価3,129円(本体2,980円)
ISBN 978-4-7741-5937-9
詳しくはこちら(出版社WEBサイト)
「独習Linux専科」サーバ構築/運用/管理

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes