1.すぐに利用したい方へ(as soon as)
「Scala Machine Learning Projects 」By Md. Karim
docker
dockerを導入し、Windows, Macではdockerを起動しておいてください。
Windowsでは、BiosでIntel Virtualizationをenableにしないとdockerが起動しない場合があります。
また、セキュリティの警告などが出ることがあります。
##docker pull and run
$ docker pull kaizenjapan/scala-karim
$ docker run -it --rm -v `pwd`:/root -p 8888:8888 kaizenjapan/scala-karim /bin/bash
以下のshell sessionでは
root@9f04f98b0ee1:/# は入力促進記号(comman prompt)です。実際には数字の部分が違うかもしれません。この行の#の右側を入力してください。
それ以外の行は出力です。出力にエラー、違いがあれば、コメント欄などでご連絡くださると幸いです。
それぞれの章のフォルダに移動します。
dockerの中と、dockerを起動したOSのシェルとが表示が似ている場合には、どちらで捜査しているか間違えることがあります。dockerの入力促進記号(comman prompt)に気をつけてください。
ファイル共有または複写
dockerとdockerを起動したOSでは、ファイル共有をするか、ファイル複写するかして、生成したファイルをブラウザ等表示させてください。参考文献欄にやり方のURLを記載しています。
複写の場合は、dockerを起動したOS側コマンドを実行しました。お使いのdockerの番号で置き換えてください。複写したファイルをブラウザで表示し内容確認しました。
Chapater01
root@9f04f98b0ee1:/# ls /
bin boot dev docker-java-home etc home lib lib32 lib64 libx32 media mnt opt proc root run sbin srv sys tmp usr var
root@9f04f98b0ee1:/# cd /root
root@9f04f98b0ee1:~# ls
Scala-Machine-Learning-Projects
root@9f04f98b0ee1:~# cd Scala-Machine-Learning-Projects/
root@9f04f98b0ee1:~/Scala-Machine-Learning-Projects# ls
Chapter01 Chapter02 Chapter03 Chapter04 Chapter05 Chapter06 Chapter07 Chapter08 Chapter09 Chapter10 Chapter11 LICENSE README.md
root@9f04f98b0ee1:~/Scala-Machine-Learning-Projects# cd Chapter01
root@9f04f98b0ee1:~/Scala-Machine-Learning-Projects/Chapter01# ls
ScalaML pom.xml
root@9f04f98b0ee1:~/Scala-Machine-Learning-Projects/Chapter01# cd ScalaML/
root@9f04f98b0ee1:~/Scala-Machine-Learning-Projects/Chapter01/ScalaML# ls
AllstateClaimsSeverityGBTRegressor.scala AllstateClaimsSeverityRandomForestRegressor.scala Preproessing.scala SparkSessionCreate.scala
AllstateClaimsSeverityLinearRegressor.scala EDA.scala RandomForestModelReuse.scala
##現状の課題
/root/Scala-Machine-Learning-Projects/Chapter01/ScalaML/AllstateClaimsSeverityGBTRegressor.scala:1: error: illegal start of definition
package com.packt.ScalaML
^
one error found
ネットで検索して
package com.packt.ScalaML.FraudDetection
に書き換えても、
/root/Scala-Machine-Learning-Projects/Chapter01/ScalaML/AllstateClaimsSeverityGBTRegressor.scala:1: error: illegal start of definition
package com.packt.ScalaML.FraudDetection
^
one error found
prnicolas/ScalaMl
https://github.com/prnicolas/ScalaMl
などを調べ中。
#2. dockerを自力で構築する方へ
ここから下は、上記のpullしていただいたdockerをどういう方針で、どういう手順で作ったかを記録します。
上記のdockerを利用する上での参考資料です。本の続きを実行する上では必要ありません。
DockerでScala/sbt環境をお手軽に使う
https://qiita.com/yotsak83/items/43cee726d44536208358
ひとまず上記の手順を踏みます。
dockerfileを作る方法ではありません。ごめんなさい。
##必要条件
"
All the examples have been implemented using Scala on an Ubuntu 16.04 LTs 64-bit and Windows 10 64-bit. You will also need the following (preferably the latest versions): Apache Spark 2.0.0 (or higher) MXNet, Zeppelin, DeepLearning4j, and H2O (see the details in the chapter and in the supplied pom.xml files) Hadoop 2.7 (or higher) Java (JDK and JRE) 1.7+/1.8+ Scala 2.11.x (or higher) Eclipse Mars or Luna (latest) with Maven plugin (2.9+), Maven compiler plugin (2.3.2+), and Maven assembly plugin (2.4.1+) IntelliJ IDE SBT plugin and Scala Play Framework installed
"
##docker
ubuntu, debianなどのLinuxを、linux, windows, mac osから共通に利用できる仕組み。
利用するOSの設定を変更せずに利用できるのがよい。
同じ仕様で、大量の人が利用することができる。
ソフトウェアの開発元が公式に対応しているものと、利用者が便利に仕立てたものの両方が利用可能である。今回は、公式に配布しているものを、自分で仕立てて、他の人にも利用できるようにする。
ubuntu, debianなどのOSの公式配布,gcc, anacondaなどの言語の公式配布などがある。
これらを利用し、docker-hubに登録することにより、公式配布の質の確認と、変更権を含む幅広い情報の共有ができる。dockerが公式配布するものではなく、それぞれのソフト提供者の公式配布という意味。
2018年10月20日現在、scalaの公式dockerが見つからない。
###docker run
$ docker run -it --rm -v `pwd`:/root hseeberger/scala-sbt
##apt-get
(base) root@d8857ae56e69:/# apt-get update
(base) root@d8857ae56e69:/# apt-get install -y procps
(base) root@d8857ae56e69:/# apt-get install -y vim
(base) root@d8857ae56e69:/# apt-get install -y apt-utils
(base) root@d8857ae56e69:/# apt-get install sudo
##ソース git
(base) root@f19e2f06eabb:/# git clone https://github.com/PacktPublishing/Scala-Machine-Learning-Projects
sbt
echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
sudo apt-get update
sudo apt-get install sbt
##docker hubへの登録
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9f04f98b0ee1 hseeberger/scala-sbt "bash" 11 minutes ago Up 11 minutes adoring_mcnulty
$ docker commit 9f04f98b0ee1 kaizenjapan/scala-karim
$ docker push kaizenjapan/scala-karim
参考資料(reference)
なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2#_reference-4c0cfe43b25323d43bd3
dockerで機械学習 with anaconda(1)「ゼロから作るDeep Learning - Pythonで学ぶディープラーニングの理論と実装」斎藤 康毅 著
https://qiita.com/kaizen_nagoya/items/a7e94ef6dca128d035ab
dockerで機械学習with anaconda(2)「ゼロから作るDeep Learning2自然言語処理編」斎藤 康毅 著
https://qiita.com/kaizen_nagoya/items/3b80dfc76933cea522c6
dockerで機械学習 with anaconda(3)「直感Deep Learning」Antonio Gulli、Sujit Pal 第1章,第2章
https://qiita.com/kaizen_nagoya/items/483ae708c71c88419c32
dockerで機械学習(71) 環境構築(1) docker どっかーら、どーやってもエラーばっかり。
https://qiita.com/kaizen_nagoya/items/690d806a4760d9b9e040
dockerで機械学習(72) 環境構築(2) Docker for Windows
https://qiita.com/kaizen_nagoya/items/c4daa5cf52e9f0c2c002
dockerで機械学習(73) 環境構築(3) docker/linux/macos bash スクリプト, ms-dos batchファイル
https://qiita.com/kaizen_nagoya/items/3f7b39110b7f303a5558
dockerで機械学習(74) 環境構築(4) R 難関いくつ?
https://qiita.com/kaizen_nagoya/items/5fb44773bc38574bcf1c
dockerで機械学習(75)環境構築(5)docker関連ファイルの管理
https://qiita.com/kaizen_nagoya/items/4f03df9a42c923087b5d
OpenCVをPythonで動かそうとしてlibGL.soが無いって言われたけど解決した。
https://qiita.com/toshitanian/items/5da24c0c0bd473d514c8
サーバサイドにおけるmatplotlibによる作図Tips
https://qiita.com/TomokIshii/items/3a26ee4453f535a69e9e
Dockerでホストとコンテナ間でのファイルコピー
https://qiita.com/gologo13/items/7e4e404af80377b48fd5
Docker for Mac でファイル共有を利用する
https://qiita.com/seijimomoto/items/1992d68de8baa7e29bb5
「名古屋のIoTは名古屋のOSで」Dockerをどっかーらどうやって使えばいいんでしょう。TOPPERS/FMP on RaspberryPi with Macintosh編 5つの関門
https://qiita.com/kaizen_nagoya/items/9c46c6da8ceb64d2d7af
64bitCPUへの道 and/or 64歳の決意
https://qiita.com/kaizen_nagoya/items/cfb5ffa24ded23ab3f60
ゼロから作るDeepLearning2自然言語処理編 読書会の進め方(例)
https://qiita.com/kaizen_nagoya/items/025eb3f701b36209302e
Ubuntu 16.04 LTS で NVIDIA Docker を使ってみる
https://blog.amedama.jp/entry/2017/04/03/235901
文書履歴(document history)
ver. 0.10 初稿 20181020 昼
ver. 0.11 push scala-karim 20181020 午後3時
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.