SlideShare a Scribd company logo
1 of 23
Download to read offline
富士通株式会社
山中惇平
ReNom User Group #2
Infrastructure as Codeで
ReNom環境構築入門
Copyright 2017 FUJITSU LIMITED0
本資料及びLTでお話する内容は、個人の見解であり、
所属する組織の公式見解でも代表する意見でもありません。
Who?
 名前 山中 惇平 / Jumpei Yamanaka
 所属 富士通株式会社
AIサービス事業本部
AIインテグレーション事業部
 仕事 AIプラットフォームサービスの開発
↑で作ったAIプラットフォームを用いた商談対応、データ分析
 言語 R/Python/Javascript/Java
 昔 ロボットの強化学習 (DL黎明期、まだ黒魔術と呼ばれていた頃。私は触れずに卒業)
Copyright 2017 FUJITSU LIMITED1
話しの内容
Copyright 2017 FUJITSU LIMITED
Infrastructure as Codeで
ReNom環境構築入門
2
話しの内容
Copyright 2017 FUJITSU LIMITED
Infrastructure as Codeで
ReNom環境構築入門
?
3
話しの内容
Copyright 2017 FUJITSU LIMITED
Infrastructure as Codeで
ReNom環境構築入門
多くの人が
ReNomを
すぐに
使えるように!
4
データ分析環境の構築
 データ分析の「環境」をどう整えるか?
Copyright 2017 FUJITSU LIMITED
1. サーバーを用意する
2. OSをインストールする
3. 分析に用いる言語(Python、Rなど)をインストールする
4. パッケージをインストールする
5. エディタ、または統合開発環境を用意する
データ分析を始めるまで
ただしデータそのもののの準備は除く
5
データ分析環境の構築
 データ分析の「環境」をどう整えるか?
Copyright 2017 FUJITSU LIMITED
1. サーバーを用意する
2. OSをインストールする
3. 分析に用いる言語(Python、Rなど)をインストールする
4. パッケージをインストールする
5. エディタ、または統合開発環境を用意する
データ分析を始めるまで
ただしデータそのもののの準備は除く
その後
このパッケージPython 2しか
対応して無い!
Pythonのバージョンを変えないと~
上司「分析の手が足り無そうなので
新しい分析者をアサインしました。
環境の準備をよろしく。」
実データの分析に移行するにあたって
より強力なクラウドサーバで分析を…パッケージがアップデートされて
以前と同じ実験結果が出ない…
6
Docker!!
Copyright 2017 FUJITSU LIMITED7
DockerでReNom分析環境構築
Copyright 2017 FUJITSU LIMITED8
注:今回はGPU、cudaまわりは置いておいて
まずはCPU環境で作ります。
DockerでReNom分析環境構築
Copyright 2017 FUJITSU LIMITED
nvidia-dockerという
dockerのラッパーのようなもので
作れそうではあります
9
Dockerとは
 オープンソースの仮想化プラットフォーム
 「コンテナ」としてソフトウェアをパッケージングし、
個別の仮想マシンのように使えるようにする。
Copyright 2017 FUJITSU LIMITED
コンテナと仮想マシンの違い
Docker公式Webページより https://www.docker.com/what-container
コンテナは個別にOSを持たない=仮想マシンより軽量、立ち上がりも早い
⇒分析環境の構築/分離/再現に便利
10
Docker導入
 https://www.docker.com/
 様々なプラットフォームに対応
•デスクトップ *| Windows / Mac
•クラウド向け | Docker for AWS / Docker for Azure
•サーバ | Windows Server / CentOS / Debian / RHEL / Ubuntu /…
*) Windows、MacはバージョンによりDockerの種類が変わる
Copyright 2017 FUJITSU LIMITED
イメージの作成
or
ダウンロード
イメージから
コンテナの起動
使ってみる
ここから
入手
インストール後
イメージ
=コンテナの素
Docker Hubで
様々なものが公開されている
https://hub.docker.com/
11
ReNomイメージの作成
Copyright 2017 FUJITSU LIMITED12
Python分析環境の導入
 DockerはDockerfileというスクリプトからイメージのビルドを行う
Copyright 2017 FUJITSU LIMITED
# イメージの取得。今回はReNomの推奨環境であるUbuntu 16.04ベース
FROM Ubuntu:16.04
# パッケージのインストールとアップデート
RUN apt-get update && apt-get –y upgrade
RUN apt-get –y install build-essential ¥
git vim curl wget ¥
zlib1g-dev ¥
libssl-dev ¥
libreadline-dev ¥
libyaml-dev ¥
libxml2-dev ¥
libxslt-dev ¥
libncurses5-dev ¥
libncursesw5-dev
# pyenvのインストール
RUN git clone https://github.com/yyuu/pyenv.git /root/.pyenv
RUN git clone https://github.com/yyuu/pyenv-pip-rehash.git ¥
/root/.pyenv/plugins/pyenv-pip-rehash
ENV PYENV_ROOT root/.pyenv
ENV PATH $PYENV_ROOT/bin:$PATH
# anacondaのインストール
ENV ANACONDA_VER 4.4.0
RUN pyenv install anaconda3-$ANACONDA_VER
RUN pyenv global anaconda3-$ANACONDA_VER
ENV PATH $PYENV_ROOT/versions/anaconda-$ANACONDA_VER/bin:$PATH
# pyenvの初期化
RUN cd /root && eval “$(pyenv init -)”
RUN echo ‘eval “$(pyenv init -)”’ >> /root/.bashrc
# ReNomインストール
RUN git clone https://github.com/ReNom-dev-team/ReNom.git ¥
/root/ReNom
RUN mkdir /root/work
ENV RENOM_PRECISION 64
RUN cd /root/ReNom && /root/.pyenv/shims/pip install -e .
# コンテナ起動時の実行コマンド(Jupyterの起動)
CMD /bin/bash -l –c ¥
'/root/.pyenv/shims/jupyter notebook ¥
--NotebookApp.open_browser=False ¥
--NotebookApp.ip=* ¥
--allow-root ¥
--NotebookApp.notebook_dir="/root/work/"'
ReNom推奨であるUbuntuイメージから作成
Anacondaで必要なライブラリやJupyterを
一気にいれる
肝のReNomインストール
コンテナ起動時にJupyterが動くようにする
イメージの作成
or
ダウンロード
イメージから
コンテナの起動
使ってみる
注)2017/9/26現在(ReNom ver 2.1.0)でビルド確認
13
Python分析環境の導入
 Dockerfileがあるフォルダでビルドのコマンドを実行する
 コンテナを起動
Copyright 2017 FUJITSU LIMITED
$ docker build –t renom-jupyter:2.1.0 .
…(省略)…
$ docker images
REPOSITORY TAG IMAGE ID CREATED
renom-jupyter 2.1.0 3f63a0357beb 42 seconds a
イメージの作成
or
ダウンロード
イメージから
コンテナの起動
使ってみる
$ docker run -d -p 8989:8888 -v /home/yamanaka/work/:/root/work/ --name renom_2_1_0_yamanaka renom-jupyter
f30d5b9504b5855c6f0cf4714e28c5055c62e3fa2eb5c95ab865336029aae749
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED
PORTS
f30d5b9504b5 renom-jupyter:2.1.0 "/bin/sh -c '/bin/..." 16 minutes
minutes 0.0.0.0:8989->8888/tcp
yamanaka
ホストのポート8989を8888にフォワード
ホストのフォルダを作業フォルダとしてマウント
Dockerはコンテナ立ち上げ後にデータを保持できない
(終了させるとイメージの状態に戻る)ため
データはコンテナ外部に保存する必要がある
14
Python分析環境の導入
 コンテナが起動したらブラウザでPythonを使える(Jupyter)
Copyright 2017 FUJITSU LIMITED
イメージの作成
or
ダウンロード
使ってみる
イメージから
コンテナの起動
15
できあがったもの
Copyright 2017 FUJITSU LIMITED
Docker コンテナ
サーバOS(基本的にはLinux、Windows等でも可)
Docker
pyenv
anaconda (Jupyter, Numpy, …)
Python
ReNom
できたこと→ReNomを使ったデータ分析環境の素早い構築
一度イメージを作れば、あとはdocker run ~~で環境を作成可能
Anacondaが入った重めのイメージでも約2.6GB
16
まだできていないこと
 Docker Hub等への公開
 誰か有志がいらっしゃいましたら作ってくださってもいいです
 GPU対応
 必要に迫られるまでは…
 ポート枯渇問題
 一サーバに環境をたくさんたてすぎるとポートが枯渇する(してる)
 その他分析環境とあわせる
 R / Rstudio等
 その他ツールとあわせる
 Git等
Copyright 2017 FUJITSU LIMITED17
Infrastracture as Code?
 インフラのコード化
 インフラの構成をコードとして自動化し、また管理、再利用しやすくする
 コードなのでアプリケーションの知見(テストやバージョン管理など)が適用できる
 特に「アジャイル」の文脈から継続的インテグレーションに運用面の課題を解決する
ために出てきた経緯がある
 データ分析における役割
 分析環境を自動で立ち上げる(本日の話でおそらく第一歩)
 作ったロジックをディストリビュートするには?
 データ分析とアプリとインフラをつなぐ「たしなみ」
 データ分析者を増やす
→データ分析への敷居を下げに下げることが重要
Copyright 2017 FUJITSU LIMITED
データ
アプリ インフラ
初学者的理解
18
Infrastracture as Code?
 インフラのコード化
 インフラの構成をコードとして自動化し、また管理、再利用しやすくする
 コードなのでアプリケーションの知見(テストやバージョン管理など)が適用できる
 特に「アジャイル」の文脈から継続的インテグレーションに運用面の課題を解決する
ために出てきた経緯がある
 データ分析における役割
 分析環境を自動で立ち上げる(本日の話でおそらく第一歩)
 作ったロジックをディストリビュートするには?
 データ分析とアプリとインフラをつなぐ「たしなみ」
 データ分析者を増やす
→データ分析への敷居を下げに下げることが重要
Copyright 2017 FUJITSU LIMITED
データ
アプリ インフラ
初学者的理解
より多くのデータサイエンティストを!!
19
http://renom.jp/ja/notebooks/tutorials.html
Copyright 2017 FUJITSU LIMITED
より多くのデータサイエンティストを!!
20
まとめ
 データ分析の環境をどう立ち上げる?
 DockerでReNomコンテナをたててみた
 二度目以降は数分で分析環境を立ち上げられるようになる
 Infrastructure as Code
 データ分析にもとっても役立つ
Copyright 2017 FUJITSU LIMITED21
Copyright 2017 FUJITSU LIMITED
Thank you!_
22

More Related Content

What's hot

パンハウスゼミ 異常検知論文紹介 20191005
パンハウスゼミ 異常検知論文紹介  20191005パンハウスゼミ 異常検知論文紹介  20191005
パンハウスゼミ 異常検知論文紹介 20191005ぱんいち すみもと
 
[DL輪読会]Semi-supervised Knowledge Transfer for Deep Learning from Private Trai...
[DL輪読会]Semi-supervised Knowledge Transfer for Deep Learning from Private Trai...[DL輪読会]Semi-supervised Knowledge Transfer for Deep Learning from Private Trai...
[DL輪読会]Semi-supervised Knowledge Transfer for Deep Learning from Private Trai...Deep Learning JP
 
コンピュータビジョンの研究開発状況
コンピュータビジョンの研究開発状況コンピュータビジョンの研究開発状況
コンピュータビジョンの研究開発状況cvpaper. challenge
 
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するモデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するTakahiro Kubo
 
MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開
MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開
MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開Hironobu Fujiyoshi
 
SmoothGrad: removing noise by adding noise
SmoothGrad: removing noise by adding noiseSmoothGrad: removing noise by adding noise
SmoothGrad: removing noise by adding noiseharmonylab
 
10分でわかる主成分分析(PCA)
10分でわかる主成分分析(PCA)10分でわかる主成分分析(PCA)
10分でわかる主成分分析(PCA)Takanori Ogata
 
NLP2023 緊急パネル:ChatGPTで自然言語処理は終わるのか? 説明スライド
NLP2023 緊急パネル:ChatGPTで自然言語処理は終わるのか? 説明スライドNLP2023 緊急パネル:ChatGPTで自然言語処理は終わるのか? 説明スライド
NLP2023 緊急パネル:ChatGPTで自然言語処理は終わるのか? 説明スライドJunSuzuki21
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 
2021/10/9 深くは話せないPFNでのお仕事
2021/10/9 深くは話せないPFNでのお仕事2021/10/9 深くは話せないPFNでのお仕事
2021/10/9 深くは話せないPFNでのお仕事belltailjp
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)NTT DATA Technology & Innovation
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向ohken
 
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...harmonylab
 
自然言語処理における深層学習を用いた予測の不確実性 - Predictive Uncertainty in NLP -
自然言語処理における深層学習を用いた予測の不確実性  - Predictive Uncertainty in NLP -自然言語処理における深層学習を用いた予測の不確実性  - Predictive Uncertainty in NLP -
自然言語処理における深層学習を用いた予測の不確実性 - Predictive Uncertainty in NLP -tmtm otm
 
Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査Kazuyuki Miyazawa
 
文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-
文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-
文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-Takahiro Kubo
 
【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks
【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks
【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural NetworksYosuke Shinya
 

What's hot (20)

パンハウスゼミ 異常検知論文紹介 20191005
パンハウスゼミ 異常検知論文紹介  20191005パンハウスゼミ 異常検知論文紹介  20191005
パンハウスゼミ 異常検知論文紹介 20191005
 
[DL輪読会]Semi-supervised Knowledge Transfer for Deep Learning from Private Trai...
[DL輪読会]Semi-supervised Knowledge Transfer for Deep Learning from Private Trai...[DL輪読会]Semi-supervised Knowledge Transfer for Deep Learning from Private Trai...
[DL輪読会]Semi-supervised Knowledge Transfer for Deep Learning from Private Trai...
 
BERT+XLNet+RoBERTa
BERT+XLNet+RoBERTaBERT+XLNet+RoBERTa
BERT+XLNet+RoBERTa
 
コンピュータビジョンの研究開発状況
コンピュータビジョンの研究開発状況コンピュータビジョンの研究開発状況
コンピュータビジョンの研究開発状況
 
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するモデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留する
 
MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開
MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開
MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開
 
SmoothGrad: removing noise by adding noise
SmoothGrad: removing noise by adding noiseSmoothGrad: removing noise by adding noise
SmoothGrad: removing noise by adding noise
 
10分でわかる主成分分析(PCA)
10分でわかる主成分分析(PCA)10分でわかる主成分分析(PCA)
10分でわかる主成分分析(PCA)
 
NLP2023 緊急パネル:ChatGPTで自然言語処理は終わるのか? 説明スライド
NLP2023 緊急パネル:ChatGPTで自然言語処理は終わるのか? 説明スライドNLP2023 緊急パネル:ChatGPTで自然言語処理は終わるのか? 説明スライド
NLP2023 緊急パネル:ChatGPTで自然言語処理は終わるのか? 説明スライド
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
2021/10/9 深くは話せないPFNでのお仕事
2021/10/9 深くは話せないPFNでのお仕事2021/10/9 深くは話せないPFNでのお仕事
2021/10/9 深くは話せないPFNでのお仕事
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
 
Bert for multimodal
Bert for multimodalBert for multimodal
Bert for multimodal
 
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
 
自然言語処理における深層学習を用いた予測の不確実性 - Predictive Uncertainty in NLP -
自然言語処理における深層学習を用いた予測の不確実性  - Predictive Uncertainty in NLP -自然言語処理における深層学習を用いた予測の不確実性  - Predictive Uncertainty in NLP -
自然言語処理における深層学習を用いた予測の不確実性 - Predictive Uncertainty in NLP -
 
Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査
 
文章生成の未解決問題
文章生成の未解決問題文章生成の未解決問題
文章生成の未解決問題
 
文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-
文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-
文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-
 
【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks
【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks
【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks
 

Viewers also liked

Docker国内外本番環境サービス事例のご紹介
Docker国内外本番環境サービス事例のご紹介Docker国内外本番環境サービス事例のご紹介
Docker国内外本番環境サービス事例のご紹介ThinkIT_impress
 
DockerCon SF 2015: Beyond CI to Production Scale PaaS with Docker
DockerCon SF 2015: Beyond CI to Production Scale PaaS with DockerDockerCon SF 2015: Beyond CI to Production Scale PaaS with Docker
DockerCon SF 2015: Beyond CI to Production Scale PaaS with DockerDocker, Inc.
 
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化Hinemos
 
Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介Hiroki Endo
 
元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!ReNom User Group
 
ReNomによるNeural Style Transfer
ReNomによるNeural Style TransferReNomによるNeural Style Transfer
ReNomによるNeural Style TransferReNom User Group
 
TDAを構成する技術の紹介 ~PCA編~
TDAを構成する技術の紹介 ~PCA編~TDAを構成する技術の紹介 ~PCA編~
TDAを構成する技術の紹介 ~PCA編~ReNom User Group
 
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~ReNom User Group
 
深層学習を医療に応用するために
深層学習を医療に応用するために深層学習を医療に応用するために
深層学習を医療に応用するためにReNom User Group
 
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介ReNom User Group
 
強化学習を用いたポートフォリオマネジメントの試み
強化学習を用いたポートフォリオマネジメントの試み強化学習を用いたポートフォリオマネジメントの試み
強化学習を用いたポートフォリオマネジメントの試みReNom User Group
 
Style transfer
Style transferStyle transfer
Style transferzaburo
 
Recurrent Neural Networks
Recurrent Neural NetworksRecurrent Neural Networks
Recurrent Neural NetworksSeiya Tokui
 
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会Shotaro Sano
 
NVIDIA Seminar ディープラーニングによる画像認識と応用事例
NVIDIA Seminar ディープラーニングによる画像認識と応用事例NVIDIA Seminar ディープラーニングによる画像認識と応用事例
NVIDIA Seminar ディープラーニングによる画像認識と応用事例Takayoshi Yamashita
 
AWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWSAWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWSAmazon Web Services Japan
 

Viewers also liked (20)

Docker国内外本番環境サービス事例のご紹介
Docker国内外本番環境サービス事例のご紹介Docker国内外本番環境サービス事例のご紹介
Docker国内外本番環境サービス事例のご紹介
 
DockerCon SF 2015: Beyond CI to Production Scale PaaS with Docker
DockerCon SF 2015: Beyond CI to Production Scale PaaS with DockerDockerCon SF 2015: Beyond CI to Production Scale PaaS with Docker
DockerCon SF 2015: Beyond CI to Production Scale PaaS with Docker
 
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
 
Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介
 
元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!
 
ReNom User Group #1 Part3
ReNom User Group #1 Part3ReNom User Group #1 Part3
ReNom User Group #1 Part3
 
ReNomによるNeural Style Transfer
ReNomによるNeural Style TransferReNomによるNeural Style Transfer
ReNomによるNeural Style Transfer
 
TDAを構成する技術の紹介 ~PCA編~
TDAを構成する技術の紹介 ~PCA編~TDAを構成する技術の紹介 ~PCA編~
TDAを構成する技術の紹介 ~PCA編~
 
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~
 
ReNom User Group #1 Part1
ReNom User Group #1 Part1ReNom User Group #1 Part1
ReNom User Group #1 Part1
 
深層学習を医療に応用するために
深層学習を医療に応用するために深層学習を医療に応用するために
深層学習を医療に応用するために
 
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
 
ReNom User Group #1 Part2
ReNom User Group #1 Part2ReNom User Group #1 Part2
ReNom User Group #1 Part2
 
強化学習を用いたポートフォリオマネジメントの試み
強化学習を用いたポートフォリオマネジメントの試み強化学習を用いたポートフォリオマネジメントの試み
強化学習を用いたポートフォリオマネジメントの試み
 
Style transfer
Style transferStyle transfer
Style transfer
 
Recurrent Neural Networks
Recurrent Neural NetworksRecurrent Neural Networks
Recurrent Neural Networks
 
AWS OpsWorksのご紹介
AWS OpsWorksのご紹介AWS OpsWorksのご紹介
AWS OpsWorksのご紹介
 
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
 
NVIDIA Seminar ディープラーニングによる画像認識と応用事例
NVIDIA Seminar ディープラーニングによる画像認識と応用事例NVIDIA Seminar ディープラーニングによる画像認識と応用事例
NVIDIA Seminar ディープラーニングによる画像認識と応用事例
 
AWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWSAWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWS
 

Similar to Infrastructure as CodeでReNom環境構築入門

Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstartHideki Saito
 
できる!KickstartとAnsible!
できる!KickstartとAnsible!できる!KickstartとAnsible!
できる!KickstartとAnsible!Wataru NOGUCHI
 
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespacesIssei Hiraoka
 
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!泰史 栃折
 
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudyPHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudyHikari Fukasawa
 
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみようCent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう2bo 2bo
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp CodereadingHiro Yoshioka
 
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説LeapMind Inc
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeomantomo_masakura
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~Takeshi Kuramochi
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようKenji NAKAGAKI
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築Hideharu MATSUFUJI
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングRansui Iso
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介Osamu Habuka
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介Uchio Kondo
 

Similar to Infrastructure as CodeでReNom環境構築入門 (20)

Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstart
 
できる!KickstartとAnsible!
できる!KickstartとAnsible!できる!KickstartとAnsible!
できる!KickstartとAnsible!
 
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
 
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
 
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudyPHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
 
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみようCent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
 
Puppet入門
Puppet入門Puppet入門
Puppet入門
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp Codereading
 
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
 
Niigata.pm #1
Niigata.pm #1Niigata.pm #1
Niigata.pm #1
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
コンテナーによるIT基盤変革 - IT infrastructure transformation -
コンテナーによるIT基盤変革 - IT infrastructure transformation -コンテナーによるIT基盤変革 - IT infrastructure transformation -
コンテナーによるIT基盤変革 - IT infrastructure transformation -
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
実は怖くないDevOps
実は怖くないDevOps実は怖くないDevOps
実は怖くないDevOps
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介
 

More from ReNom User Group

AI画像認識モデル開発をやってみた!#1
AI画像認識モデル開発をやってみた!#1AI画像認識モデル開発をやってみた!#1
AI画像認識モデル開発をやってみた!#1ReNom User Group
 
ReNomを利活用した溶接モニタリングの取組について
ReNomを利活用した溶接モニタリングの取組についてReNomを利活用した溶接モニタリングの取組について
ReNomを利活用した溶接モニタリングの取組についてReNom User Group
 
ReNom IMG version3.0最新情報の紹介
ReNom IMG version3.0最新情報の紹介ReNom IMG version3.0最新情報の紹介
ReNom IMG version3.0最新情報の紹介ReNom User Group
 
Renomロードマップの紹介
Renomロードマップの紹介Renomロードマップの紹介
Renomロードマップの紹介ReNom User Group
 
EDGEMATRIX社のご紹介と、Edge AI Computing Platformについて
EDGEMATRIX社のご紹介と、Edge AI Computing PlatformについてEDGEMATRIX社のご紹介と、Edge AI Computing Platformについて
EDGEMATRIX社のご紹介と、Edge AI Computing PlatformについてReNom User Group
 
AIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるためにAIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるためにReNom User Group
 
ReNomDL 高速化の紹介
ReNomDL 高速化の紹介ReNomDL 高速化の紹介
ReNomDL 高速化の紹介ReNom User Group
 
量子コンピュータ向けアプリケーション開発フレームワークReNomQとは
量子コンピュータ向けアプリケーション開発フレームワークReNomQとは量子コンピュータ向けアプリケーション開発フレームワークReNomQとは
量子コンピュータ向けアプリケーション開発フレームワークReNomQとはReNom User Group
 
ReNom IMGの活用事例 + ReNom TAGの告知
ReNom IMGの活用事例 + ReNom TAGの告知ReNom IMGの活用事例 + ReNom TAGの告知
ReNom IMGの活用事例 + ReNom TAGの告知ReNom User Group
 
ReNom RG新機能の紹介
ReNom RG新機能の紹介ReNom RG新機能の紹介
ReNom RG新機能の紹介ReNom User Group
 
エンジニアではなくてもAIモデル構築が可能な時代に
エンジニアではなくてもAIモデル構築が可能な時代にエンジニアではなくてもAIモデル構築が可能な時代に
エンジニアではなくてもAIモデル構築が可能な時代にReNom User Group
 
バージョンアップした「ReNomIMG」の紹介
バージョンアップした「ReNomIMG」の紹介バージョンアップした「ReNomIMG」の紹介
バージョンアップした「ReNomIMG」の紹介ReNom User Group
 
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介数値回帰モデル作成アプリケーション 「ReNomRG」の紹介
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介ReNom User Group
 
ReNomIMG を使った料理名判別による栄養管理アプリ
ReNomIMG を使った料理名判別による栄養管理アプリReNomIMG を使った料理名判別による栄養管理アプリ
ReNomIMG を使った料理名判別による栄養管理アプリReNom User Group
 
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~ReNom User Group
 
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~ReNom User Group
 
ReNom 2016 ~ 2018振り返り
ReNom 2016 ~ 2018振り返りReNom 2016 ~ 2018振り返り
ReNom 2016 ~ 2018振り返りReNom User Group
 
ユニアデックスのAIに向けた取り組みご紹介
ユニアデックスのAIに向けた取り組みご紹介ユニアデックスのAIに向けた取り組みご紹介
ユニアデックスのAIに向けた取り組みご紹介ReNom User Group
 

More from ReNom User Group (20)

AI画像認識モデル開発をやってみた!#1
AI画像認識モデル開発をやってみた!#1AI画像認識モデル開発をやってみた!#1
AI画像認識モデル開発をやってみた!#1
 
ReNomを利活用した溶接モニタリングの取組について
ReNomを利活用した溶接モニタリングの取組についてReNomを利活用した溶接モニタリングの取組について
ReNomを利活用した溶接モニタリングの取組について
 
ReNom IMG version3.0最新情報の紹介
ReNom IMG version3.0最新情報の紹介ReNom IMG version3.0最新情報の紹介
ReNom IMG version3.0最新情報の紹介
 
Renomロードマップの紹介
Renomロードマップの紹介Renomロードマップの紹介
Renomロードマップの紹介
 
EDGEMATRIX社のご紹介と、Edge AI Computing Platformについて
EDGEMATRIX社のご紹介と、Edge AI Computing PlatformについてEDGEMATRIX社のご紹介と、Edge AI Computing Platformについて
EDGEMATRIX社のご紹介と、Edge AI Computing Platformについて
 
AIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるためにAIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるために
 
ReNomDL 高速化の紹介
ReNomDL 高速化の紹介ReNomDL 高速化の紹介
ReNomDL 高速化の紹介
 
量子コンピュータ向けアプリケーション開発フレームワークReNomQとは
量子コンピュータ向けアプリケーション開発フレームワークReNomQとは量子コンピュータ向けアプリケーション開発フレームワークReNomQとは
量子コンピュータ向けアプリケーション開発フレームワークReNomQとは
 
ReNom IMGの活用事例 + ReNom TAGの告知
ReNom IMGの活用事例 + ReNom TAGの告知ReNom IMGの活用事例 + ReNom TAGの告知
ReNom IMGの活用事例 + ReNom TAGの告知
 
ReNom RG新機能の紹介
ReNom RG新機能の紹介ReNom RG新機能の紹介
ReNom RG新機能の紹介
 
ReNomDL V3の紹介
ReNomDL V3の紹介ReNomDL V3の紹介
ReNomDL V3の紹介
 
エンジニアではなくてもAIモデル構築が可能な時代に
エンジニアではなくてもAIモデル構築が可能な時代にエンジニアではなくてもAIモデル構築が可能な時代に
エンジニアではなくてもAIモデル構築が可能な時代に
 
バージョンアップした「ReNomIMG」の紹介
バージョンアップした「ReNomIMG」の紹介バージョンアップした「ReNomIMG」の紹介
バージョンアップした「ReNomIMG」の紹介
 
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介数値回帰モデル作成アプリケーション 「ReNomRG」の紹介
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介
 
ReNomIMG を使った料理名判別による栄養管理アプリ
ReNomIMG を使った料理名判別による栄養管理アプリReNomIMG を使った料理名判別による栄養管理アプリ
ReNomIMG を使った料理名判別による栄養管理アプリ
 
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~
 
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~
 
ReNom DP&TDA
ReNom DP&TDAReNom DP&TDA
ReNom DP&TDA
 
ReNom 2016 ~ 2018振り返り
ReNom 2016 ~ 2018振り返りReNom 2016 ~ 2018振り返り
ReNom 2016 ~ 2018振り返り
 
ユニアデックスのAIに向けた取り組みご紹介
ユニアデックスのAIに向けた取り組みご紹介ユニアデックスのAIに向けた取り組みご紹介
ユニアデックスのAIに向けた取り組みご紹介
 

Infrastructure as CodeでReNom環境構築入門

  • 1. 富士通株式会社 山中惇平 ReNom User Group #2 Infrastructure as Codeで ReNom環境構築入門 Copyright 2017 FUJITSU LIMITED0 本資料及びLTでお話する内容は、個人の見解であり、 所属する組織の公式見解でも代表する意見でもありません。
  • 2. Who?  名前 山中 惇平 / Jumpei Yamanaka  所属 富士通株式会社 AIサービス事業本部 AIインテグレーション事業部  仕事 AIプラットフォームサービスの開発 ↑で作ったAIプラットフォームを用いた商談対応、データ分析  言語 R/Python/Javascript/Java  昔 ロボットの強化学習 (DL黎明期、まだ黒魔術と呼ばれていた頃。私は触れずに卒業) Copyright 2017 FUJITSU LIMITED1
  • 3. 話しの内容 Copyright 2017 FUJITSU LIMITED Infrastructure as Codeで ReNom環境構築入門 2
  • 4. 話しの内容 Copyright 2017 FUJITSU LIMITED Infrastructure as Codeで ReNom環境構築入門 ? 3
  • 5. 話しの内容 Copyright 2017 FUJITSU LIMITED Infrastructure as Codeで ReNom環境構築入門 多くの人が ReNomを すぐに 使えるように! 4
  • 6. データ分析環境の構築  データ分析の「環境」をどう整えるか? Copyright 2017 FUJITSU LIMITED 1. サーバーを用意する 2. OSをインストールする 3. 分析に用いる言語(Python、Rなど)をインストールする 4. パッケージをインストールする 5. エディタ、または統合開発環境を用意する データ分析を始めるまで ただしデータそのもののの準備は除く 5
  • 7. データ分析環境の構築  データ分析の「環境」をどう整えるか? Copyright 2017 FUJITSU LIMITED 1. サーバーを用意する 2. OSをインストールする 3. 分析に用いる言語(Python、Rなど)をインストールする 4. パッケージをインストールする 5. エディタ、または統合開発環境を用意する データ分析を始めるまで ただしデータそのもののの準備は除く その後 このパッケージPython 2しか 対応して無い! Pythonのバージョンを変えないと~ 上司「分析の手が足り無そうなので 新しい分析者をアサインしました。 環境の準備をよろしく。」 実データの分析に移行するにあたって より強力なクラウドサーバで分析を…パッケージがアップデートされて 以前と同じ実験結果が出ない… 6
  • 10. 注:今回はGPU、cudaまわりは置いておいて まずはCPU環境で作ります。 DockerでReNom分析環境構築 Copyright 2017 FUJITSU LIMITED nvidia-dockerという dockerのラッパーのようなもので 作れそうではあります 9
  • 11. Dockerとは  オープンソースの仮想化プラットフォーム  「コンテナ」としてソフトウェアをパッケージングし、 個別の仮想マシンのように使えるようにする。 Copyright 2017 FUJITSU LIMITED コンテナと仮想マシンの違い Docker公式Webページより https://www.docker.com/what-container コンテナは個別にOSを持たない=仮想マシンより軽量、立ち上がりも早い ⇒分析環境の構築/分離/再現に便利 10
  • 12. Docker導入  https://www.docker.com/  様々なプラットフォームに対応 •デスクトップ *| Windows / Mac •クラウド向け | Docker for AWS / Docker for Azure •サーバ | Windows Server / CentOS / Debian / RHEL / Ubuntu /… *) Windows、MacはバージョンによりDockerの種類が変わる Copyright 2017 FUJITSU LIMITED イメージの作成 or ダウンロード イメージから コンテナの起動 使ってみる ここから 入手 インストール後 イメージ =コンテナの素 Docker Hubで 様々なものが公開されている https://hub.docker.com/ 11
  • 14. Python分析環境の導入  DockerはDockerfileというスクリプトからイメージのビルドを行う Copyright 2017 FUJITSU LIMITED # イメージの取得。今回はReNomの推奨環境であるUbuntu 16.04ベース FROM Ubuntu:16.04 # パッケージのインストールとアップデート RUN apt-get update && apt-get –y upgrade RUN apt-get –y install build-essential ¥ git vim curl wget ¥ zlib1g-dev ¥ libssl-dev ¥ libreadline-dev ¥ libyaml-dev ¥ libxml2-dev ¥ libxslt-dev ¥ libncurses5-dev ¥ libncursesw5-dev # pyenvのインストール RUN git clone https://github.com/yyuu/pyenv.git /root/.pyenv RUN git clone https://github.com/yyuu/pyenv-pip-rehash.git ¥ /root/.pyenv/plugins/pyenv-pip-rehash ENV PYENV_ROOT root/.pyenv ENV PATH $PYENV_ROOT/bin:$PATH # anacondaのインストール ENV ANACONDA_VER 4.4.0 RUN pyenv install anaconda3-$ANACONDA_VER RUN pyenv global anaconda3-$ANACONDA_VER ENV PATH $PYENV_ROOT/versions/anaconda-$ANACONDA_VER/bin:$PATH # pyenvの初期化 RUN cd /root && eval “$(pyenv init -)” RUN echo ‘eval “$(pyenv init -)”’ >> /root/.bashrc # ReNomインストール RUN git clone https://github.com/ReNom-dev-team/ReNom.git ¥ /root/ReNom RUN mkdir /root/work ENV RENOM_PRECISION 64 RUN cd /root/ReNom && /root/.pyenv/shims/pip install -e . # コンテナ起動時の実行コマンド(Jupyterの起動) CMD /bin/bash -l –c ¥ '/root/.pyenv/shims/jupyter notebook ¥ --NotebookApp.open_browser=False ¥ --NotebookApp.ip=* ¥ --allow-root ¥ --NotebookApp.notebook_dir="/root/work/"' ReNom推奨であるUbuntuイメージから作成 Anacondaで必要なライブラリやJupyterを 一気にいれる 肝のReNomインストール コンテナ起動時にJupyterが動くようにする イメージの作成 or ダウンロード イメージから コンテナの起動 使ってみる 注)2017/9/26現在(ReNom ver 2.1.0)でビルド確認 13
  • 15. Python分析環境の導入  Dockerfileがあるフォルダでビルドのコマンドを実行する  コンテナを起動 Copyright 2017 FUJITSU LIMITED $ docker build –t renom-jupyter:2.1.0 . …(省略)… $ docker images REPOSITORY TAG IMAGE ID CREATED renom-jupyter 2.1.0 3f63a0357beb 42 seconds a イメージの作成 or ダウンロード イメージから コンテナの起動 使ってみる $ docker run -d -p 8989:8888 -v /home/yamanaka/work/:/root/work/ --name renom_2_1_0_yamanaka renom-jupyter f30d5b9504b5855c6f0cf4714e28c5055c62e3fa2eb5c95ab865336029aae749 $ docker ps CONTAINER ID IMAGE COMMAND CREATED PORTS f30d5b9504b5 renom-jupyter:2.1.0 "/bin/sh -c '/bin/..." 16 minutes minutes 0.0.0.0:8989->8888/tcp yamanaka ホストのポート8989を8888にフォワード ホストのフォルダを作業フォルダとしてマウント Dockerはコンテナ立ち上げ後にデータを保持できない (終了させるとイメージの状態に戻る)ため データはコンテナ外部に保存する必要がある 14
  • 16. Python分析環境の導入  コンテナが起動したらブラウザでPythonを使える(Jupyter) Copyright 2017 FUJITSU LIMITED イメージの作成 or ダウンロード 使ってみる イメージから コンテナの起動 15
  • 17. できあがったもの Copyright 2017 FUJITSU LIMITED Docker コンテナ サーバOS(基本的にはLinux、Windows等でも可) Docker pyenv anaconda (Jupyter, Numpy, …) Python ReNom できたこと→ReNomを使ったデータ分析環境の素早い構築 一度イメージを作れば、あとはdocker run ~~で環境を作成可能 Anacondaが入った重めのイメージでも約2.6GB 16
  • 18. まだできていないこと  Docker Hub等への公開  誰か有志がいらっしゃいましたら作ってくださってもいいです  GPU対応  必要に迫られるまでは…  ポート枯渇問題  一サーバに環境をたくさんたてすぎるとポートが枯渇する(してる)  その他分析環境とあわせる  R / Rstudio等  その他ツールとあわせる  Git等 Copyright 2017 FUJITSU LIMITED17
  • 19. Infrastracture as Code?  インフラのコード化  インフラの構成をコードとして自動化し、また管理、再利用しやすくする  コードなのでアプリケーションの知見(テストやバージョン管理など)が適用できる  特に「アジャイル」の文脈から継続的インテグレーションに運用面の課題を解決する ために出てきた経緯がある  データ分析における役割  分析環境を自動で立ち上げる(本日の話でおそらく第一歩)  作ったロジックをディストリビュートするには?  データ分析とアプリとインフラをつなぐ「たしなみ」  データ分析者を増やす →データ分析への敷居を下げに下げることが重要 Copyright 2017 FUJITSU LIMITED データ アプリ インフラ 初学者的理解 18
  • 20. Infrastracture as Code?  インフラのコード化  インフラの構成をコードとして自動化し、また管理、再利用しやすくする  コードなのでアプリケーションの知見(テストやバージョン管理など)が適用できる  特に「アジャイル」の文脈から継続的インテグレーションに運用面の課題を解決する ために出てきた経緯がある  データ分析における役割  分析環境を自動で立ち上げる(本日の話でおそらく第一歩)  作ったロジックをディストリビュートするには?  データ分析とアプリとインフラをつなぐ「たしなみ」  データ分析者を増やす →データ分析への敷居を下げに下げることが重要 Copyright 2017 FUJITSU LIMITED データ アプリ インフラ 初学者的理解 より多くのデータサイエンティストを!! 19
  • 21. http://renom.jp/ja/notebooks/tutorials.html Copyright 2017 FUJITSU LIMITED より多くのデータサイエンティストを!! 20
  • 22. まとめ  データ分析の環境をどう立ち上げる?  DockerでReNomコンテナをたててみた  二度目以降は数分で分析環境を立ち上げられるようになる  Infrastructure as Code  データ分析にもとっても役立つ Copyright 2017 FUJITSU LIMITED21
  • 23. Copyright 2017 FUJITSU LIMITED Thank you!_ 22