LoginSignup
0
0

dockerで機械学習(92) with swift(1)「Machine Learning with Swift」By Alexander Sosnovshchenko

Last updated at Posted at 2018-10-21

1.すぐに利用したい方へ(as soon as)

「Machine Learning with Swift」By Alexander Sosnovshchenko

cat92.gif

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の番号で置き換えてください。複写したファイルをブラウザで表示し内容確認しました。

2_decision_trees/

root@2ee25e04a93d:/SwiftMLBook# ls
10_nlp   12_hardware     14_best_practices  2_decision_trees  4_kmeans         6_linear_regression  8_nn   LICENSE    pages
11_libs  13_compression  1_intro            3_knn             5_rule_learning  7_logistic           9_cnn  README.md
root@2ee25e04a93d:/SwiftMLBook# cd 2_decision_trees/
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees# ls
README.md  src  supplementary
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees# cd src
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src# ls
DecisionTreeDemo  ML_Intro.ipynb  extraterrestrials.csv  supplementary
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src# cd DecisionTreeDemo/
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src/DecisionTreeDemo# ls
DecisionTreeDemo  DecisionTreeDemo.xcodeproj
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src/DecisionTreeDemo# ls -al
total 16
drwxr-xr-x 4 root root 4096 Oct 21 20:30 .
drwxr-xr-x 4 root root 4096 Oct 21 20:30 ..
drwxr-xr-x 4 root root 4096 Oct 21 20:30 DecisionTreeDemo
drwxr-xr-x 3 root root 4096 Oct 21 20:30 DecisionTreeDemo.xcodeproj
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src/DecisionTreeDemo# cd DecisionTreeDemo
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src/DecisionTreeDemo/DecisionTreeDemo# ls
AccuracyMetrics.swift  Base.lproj          DecisionTree.mlmodel  GKDecisionTreeWrapper.swift  RandomForest.mlmodel  data_test.csv
AppDelegate.swift      DataProvider.swift  FeaturesLabels.swift  Info.plist                   StreamReader.swift    extraterrestrials.csv
Assets.xcassets        DataSplitter.swift  Flow.swift            NumericExtensions.swift      ViewController.swift
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src/DecisionTreeDemo/DecisionTreeDemo# ls
AccuracyMetrics.swift  Base.lproj          DecisionTree.mlmodel  GKDecisionTreeWrapper.swift  RandomForest.mlmodel  data_test.csv
AppDelegate.swift      DataProvider.swift  FeaturesLabels.swift  Info.plist                   StreamReader.swift    extraterrestrials.csv
Assets.xcassets        DataSplitter.swift  Flow.swift            NumericExtensions.swift      ViewController.swift
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src/DecisionTreeDemo/DecisionTreeDemo# swift AccuracyMetrics.swift 
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src/DecisionTreeDemo/DecisionTreeDemo# swift AppDelegate.swift 
AppDelegate.swift:2:8: error: no such module 'UIKit'
import UIKit
       ^
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src/DecisionTreeDemo/DecisionTreeDemo# swift DataProvider.swift 
DataProvider.swift:3:8: error: no such module 'GameplayKit'
import GameplayKit
       ^
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src/DecisionTreeDemo/DecisionTreeDemo# swift DataSplitter.swift 
DataSplitter.swift:3:8: error: no such module 'GameplayKit'
import GameplayKit
       ^
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src/DecisionTreeDemo/DecisionTreeDemo# swift FeaturesLabels.swift 
FeaturesLabels.swift:16:57: error: cannot invoke initializer for type 'Int' with an argument list of type '(Bool)'
        return (0..<type(of: self).allValuesCount).map{ Int($0 == rawValue) }
                                                        ^
FeaturesLabels.swift:16:57: note: overloads for 'Int' exist with these partially matching parameter lists: (Float), (Double), (Float80), (Int64), (Word), (NSNumber), (CGFloat)
        return (0..<type(of: self).allValuesCount).map{ Int($0 == rawValue) }
                                                        ^
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src/DecisionTreeDemo/DecisionTreeDemo# swift NumericExtensions.swift 
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src/DecisionTreeDemo/DecisionTreeDemo# swift StreamReader.swift 
root@2ee25e04a93d:/SwiftMLBook/2_decision_trees/src/DecisionTreeDemo/DecisionTreeDemo# swift ViewController.swift 
ViewController.swift:2:8: error: no such module 'UIKit'
import UIKit
       ^

##現状の課題

エラー類

#2. dockerを自力で構築する方へ

ここから下は、上記のpullしていただいたdockerをどういう方針で、どういう手順で作ったかを記録します。
上記のdockerを利用する上での参考資料です。本の続きを実行する上では必要ありません。

DockerでScala/sbt環境をお手軽に使う
https://qiita.com/yotsak83/items/43cee726d44536208358

ひとまず上記の手順を踏みます。

dockerfileを作る方法ではありません。ごめんなさい。

##docker

ubuntu, debianなどのLinuxを、linux, windows, mac osから共通に利用できる仕組み。
利用するOSの設定を変更せずに利用できるのがよい。
同じ仕様で、大量の人が利用することができる。
ソフトウェアの開発元が公式に対応しているものと、利用者が便利に仕立てたものの両方が利用可能である。今回は、公式に配布しているものを、自分で仕立てて、他の人にも利用できるようにする。

ubuntu, debianなどのOSの公式配布,gcc, anacondaなどの言語の公式配布などがある。

これらを利用し、docker-hubに登録することにより、公式配布の質の確認と、変更権を含む幅広い情報の共有ができる。dockerが公式配布するものではなく、それぞれのソフト提供者の公式配布という意味。

2018年10月20日現在、scalaの公式dockerが見つからない。

###docker pull and run

OgawaKiyoshi-no-MacBook-Pro:~ ogawakiyoshi$ docker pull swiftdocker/swift
Using default tag: latest
latest: Pulling from swiftdocker/swift
50aff78429b1: Pull complete 
f6d82e297bce: Pull complete 
275abb2c8a6f: Pull complete 
9f15a39356d6: Pull complete 
fc0342a94c89: Pull complete 
2b53dcb0eee7: Pull complete 
267fcb0a26f6: Pull complete 
Digest: sha256:0b2ad4a26977a27bedd2cbbae1c8821b3816a7be8b1fb4ad783816be058f8e95
Status: Downloaded newer image for swiftdocker/swift:latest
OgawaKiyoshi-no-MacBook-Pro:~ ogawakiyoshi$ docker run --privileged -i -t --name swiftfun swiftdocker/swift:latest /bin/bash

root@2ee25e04a93d:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var


##apt-get

root@2ee25e04a93d:/# apt-get update
Get:1 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB]
Get:3 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [97.1 kB]
Get:4 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]          
Get:5 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [727 kB]
Get:6 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Get:7 http://archive.ubuntu.com/ubuntu xenial/universe Sources [9802 kB]         
Get:8 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [12.7 kB]
Get:9 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [497 kB]
Get:10 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1558 kB]                                                             
Get:11 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages [14.1 kB]                                                       
Get:12 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [9827 kB]                                                         
Get:13 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [3747 B]                                              
Get:14 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [176 kB]                                                        
Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/universe Sources [282 kB]                                                         
Get:16 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [1115 kB]                                                     
Get:17 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [13.1 kB]                                               
Get:18 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [894 kB]                                                  
Get:19 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [18.8 kB]                                               
Get:20 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [7965 B]                                                    
Get:21 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [8532 B]                                                
Fetched 25.6 MB in 14s (1829 kB/s)                                                                                                       
Reading package lists... Done
root@2ee25e04a93d:/# apt-get install vim
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libgpm2 libmpdec2 libpython3.5 libpython3.5-minimal libpython3.5-stdlib vim-common vim-runtime
Suggested packages:
  gpm ctags vim-doc vim-scripts vim-gnome-py2 | vim-gtk-py2 | vim-gtk3-py2 | vim-athena-py2 | vim-nox-py2
The following NEW packages will be installed:
  libgpm2 libmpdec2 libpython3.5 libpython3.5-minimal libpython3.5-stdlib vim vim-common vim-runtime
0 upgraded, 8 newly installed, 0 to remove and 105 not upgraded.
Need to get 10.4 MB of archives.
After this operation, 49.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 libgpm2 amd64 1.20.4-6.1 [16.5 kB]
Get:2 http://archive.ubuntu.com/ubuntu xenial/main amd64 libmpdec2 amd64 2.4.2-1 [82.6 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-minimal amd64 3.5.2-2ubuntu0~16.04.4 [523 kB]
Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-stdlib amd64 3.5.2-2ubuntu0~16.04.4 [2132 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 vim-common amd64 2:7.4.1689-3ubuntu1.2 [103 kB]
Get:6 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5 amd64 3.5.2-2ubuntu0~16.04.4 [1360 kB]
Get:7 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 vim-runtime all 2:7.4.1689-3ubuntu1.2 [5164 kB]
Get:8 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 vim amd64 2:7.4.1689-3ubuntu1.2 [1036 kB]                               
Fetched 10.4 MB in 9s (1157 kB/s)                                                                                                        
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libgpm2:amd64.
(Reading database ... 21176 files and directories currently installed.)
Preparing to unpack .../libgpm2_1.20.4-6.1_amd64.deb ...
Unpacking libgpm2:amd64 (1.20.4-6.1) ...
Selecting previously unselected package libmpdec2:amd64.
Preparing to unpack .../libmpdec2_2.4.2-1_amd64.deb ...
Unpacking libmpdec2:amd64 (2.4.2-1) ...
Selecting previously unselected package libpython3.5-minimal:amd64.
Preparing to unpack .../libpython3.5-minimal_3.5.2-2ubuntu0~16.04.4_amd64.deb ...
Unpacking libpython3.5-minimal:amd64 (3.5.2-2ubuntu0~16.04.4) ...
Selecting previously unselected package libpython3.5-stdlib:amd64.
Preparing to unpack .../libpython3.5-stdlib_3.5.2-2ubuntu0~16.04.4_amd64.deb ...
Unpacking libpython3.5-stdlib:amd64 (3.5.2-2ubuntu0~16.04.4) ...
Selecting previously unselected package vim-common.
Preparing to unpack .../vim-common_2%3a7.4.1689-3ubuntu1.2_amd64.deb ...
Unpacking vim-common (2:7.4.1689-3ubuntu1.2) ...
Selecting previously unselected package libpython3.5:amd64.
Preparing to unpack .../libpython3.5_3.5.2-2ubuntu0~16.04.4_amd64.deb ...
Unpacking libpython3.5:amd64 (3.5.2-2ubuntu0~16.04.4) ...
Selecting previously unselected package vim-runtime.
Preparing to unpack .../vim-runtime_2%3a7.4.1689-3ubuntu1.2_all.deb ...
Adding 'diversion of /usr/share/vim/vim74/doc/help.txt to /usr/share/vim/vim74/doc/help.txt.vim-tiny by vim-runtime'
Adding 'diversion of /usr/share/vim/vim74/doc/tags to /usr/share/vim/vim74/doc/tags.vim-tiny by vim-runtime'
Unpacking vim-runtime (2:7.4.1689-3ubuntu1.2) ...
Selecting previously unselected package vim.
Preparing to unpack .../vim_2%3a7.4.1689-3ubuntu1.2_amd64.deb ...
Unpacking vim (2:7.4.1689-3ubuntu1.2) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Setting up libgpm2:amd64 (1.20.4-6.1) ...
Setting up libmpdec2:amd64 (2.4.2-1) ...
Setting up libpython3.5-minimal:amd64 (3.5.2-2ubuntu0~16.04.4) ...
Setting up libpython3.5-stdlib:amd64 (3.5.2-2ubuntu0~16.04.4) ...
Setting up vim-common (2:7.4.1689-3ubuntu1.2) ...
Setting up libpython3.5:amd64 (3.5.2-2ubuntu0~16.04.4) ...
Setting up vim-runtime (2:7.4.1689-3ubuntu1.2) ...
Setting up vim (2:7.4.1689-3ubuntu1.2) ...
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vim (vim) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vimdiff (vimdiff) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rvim (rvim) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rview (rview) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vi (vi) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/view (view) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in auto mode
Processing triggers for libc-bin (2.23-0ubuntu9) ...
root@2ee25e04a93d:/# apt-get install -y apt-utils
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  apt libapt-inst2.0 libapt-pkg5.0
Suggested packages:
  aptitude | synaptic | wajig apt-doc python-apt
The following NEW packages will be installed:
  apt-utils libapt-inst2.0
The following packages will be upgraded:
  apt libapt-pkg5.0
2 upgraded, 2 newly installed, 0 to remove and 103 not upgraded.
Need to get 2000 kB of archives.
After this operation, 1207 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libapt-pkg5.0 amd64 1.2.27 [706 kB]
Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 apt amd64 1.2.27 [1042 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libapt-inst2.0 amd64 1.2.27 [55.4 kB]
Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 apt-utils amd64 1.2.27 [196 kB]
Fetched 2000 kB in 3s (551 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
(Reading database ... 23776 files and directories currently installed.)
Preparing to unpack .../libapt-pkg5.0_1.2.27_amd64.deb ...
Unpacking libapt-pkg5.0:amd64 (1.2.27) over (1.2.24) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Setting up libapt-pkg5.0:amd64 (1.2.27) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
(Reading database ... 23776 files and directories currently installed.)
Preparing to unpack .../archives/apt_1.2.27_amd64.deb ...
Unpacking apt (1.2.27) over (1.2.24) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Setting up apt (1.2.27) ...
Installing new version of config file /etc/apt/apt.conf.d/01autoremove ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Selecting previously unselected package libapt-inst2.0:amd64.
(Reading database ... 23776 files and directories currently installed.)
Preparing to unpack .../libapt-inst2.0_1.2.27_amd64.deb ...
Unpacking libapt-inst2.0:amd64 (1.2.27) ...
Selecting previously unselected package apt-utils.
Preparing to unpack .../apt-utils_1.2.27_amd64.deb ...
Unpacking apt-utils (1.2.27) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Setting up libapt-inst2.0:amd64 (1.2.27) ...
Setting up apt-utils (1.2.27) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
root@2ee25e04a93d:/# apt-get install -y procps
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Recommended packages:
  psmisc
The following packages will be upgraded:
  procps
1 upgraded, 0 newly installed, 0 to remove and 102 not upgraded.
Need to get 222 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 procps amd64 2:3.3.10-4ubuntu2.4 [222 kB]
Fetched 222 kB in 2s (101 kB/s)  
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 1.)
debconf: falling back to frontend: Readline
(Reading database ... 23862 files and directories currently installed.)
Preparing to unpack .../procps_2%3a3.3.10-4ubuntu2.4_amd64.deb ...
Unpacking procps (2:3.3.10-4ubuntu2.4) over (2:3.3.10-4ubuntu2.3) ...
Processing triggers for systemd (229-4ubuntu21) ...
Setting up procps (2:3.3.10-4ubuntu2.4) ...
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
root@2ee25e04a93d:/# apt-get install -y sudo  
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  sudo
0 upgraded, 1 newly installed, 0 to remove and 102 not upgraded.
Need to get 390 kB of archives.
After this operation, 1618 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 sudo amd64 1.8.16-0ubuntu1.5 [390 kB]
Fetched 390 kB in 2s (175 kB/s)
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 1.)
debconf: falling back to frontend: Readline
Selecting previously unselected package sudo.
(Reading database ... 23862 files and directories currently installed.)
Preparing to unpack .../sudo_1.8.16-0ubuntu1.5_amd64.deb ...
Unpacking sudo (1.8.16-0ubuntu1.5) ...
Setting up sudo (1.8.16-0ubuntu1.5) ...

##ソース git

root@2ee25e04a93d:/#  git clone https://github.com/alexsosn/SwiftMLBook
Cloning into 'SwiftMLBook'...
remote: Enumerating objects: 512, done.
remote: Total 512 (delta 0), reused 0 (delta 0), pack-reused 512
Receiving objects: 100% (512/512), 99.37 MiB | 582.00 KiB/s, done.
Resolving deltas: 100% (130/130), done.
Checking connectivity... done.
root@2ee25e04a93d:/# ls
SwiftMLBook  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@2ee25e04a93d:/# cd SwiftMLBook/

##docker hubへの登録

$ docker ps
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                            NAMES
2ee25e04a93d        swiftdocker/swift:latest     "/bin/bash"              15 minutes ago      Up 15 minutes                                                        swiftfun

$ docker commit 2ee25e04a93d   kaizenjapan/swift
sha256:50694f07975d8b8f4f20622ed7e9b240080f6c9ebc8556f79ca6be995ccad9d1

$ docker push kaizenjapan/swift
The push refers to repository [docker.io/kaizenjapan/swift]
4c36ed0a0aae: Pushed 
c070c46b781c: Mounted from swiftdocker/swift 
dd02019985be: Mounted from swiftdocker/swift 
f17fc24fb8d0: Mounted from swiftdocker/swift 
6458f770d435: Mounted from swiftdocker/swift 
5a876f8f1a3d: Mounted from swiftdocker/swift 
d2f8c05d353b: Mounted from swiftdocker/swift 
48e0baf45d4d: Pushed 
latest: digest: sha256:585e97c6205e3a77b959fc3a4c2ee32c57e6ebd2e53605aaf4970054e48a09a9 size: 1996

参考資料(reference)

swift on docker

swiftdocker/docker-swift
https://github.com/swiftdocker/docker-swift

DockerでSwiftが動くUbuntu環境を立ち上げる
https://qiita.com/clouder/items/867ecb5db2077bc91f9e

Server Side SwiftをDockerコンテナ上で動かしてみる
https://qiita.com/Nonchalant/items/a23949f3e525109a58bc

Swift学習 on Docker for Windows
https://qiita.com/kfjt/items/6a49d603aa497c2807a5

Docker+Ubuntu+Swiftをやってみる
https://qiita.com/AcaiBowl/items/bfd2418b9531a2661fa3

Linux 版 Swift を Mac 上で Docker を使って手っ取り早く試す
https://qiita.com/taketin/items/77af9bc29f44166b8270

Dockerでswift repl起動時にerrorになった場合の対処法
https://qiita.com/atsuya046/items/b84d57ac79b688c018dd

機械学習

なぜ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

ゼロから作るDeepLearning2自然言語処理編 読書会の進め方(例)
https://qiita.com/kaizen_nagoya/items/025eb3f701b36209302e

##環境構築

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

Ubuntu 16.04 LTS で NVIDIA Docker を使ってみる
https://blog.amedama.jp/entry/2017/04/03/235901

文書履歴(document history)

ver. 0.10 初稿 20181022

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0