dockerで機械学習(8) with anaconda(8)「実践機械学習システム」Willi Richest, Luis Pedro Coelho　著

# 1.すぐにプログラムを動かしたい方へ(as soon as you want)

 実践機械学習システム Willi Richest, Luis Pedro Coelho　著
![picture_large978-4-87311-698-3.jpeg](https://qiita-image-store.s3.amazonaws.com/0/51423/fa573482-3c78-6655-aa9e-51f6dacb1606.jpeg)
https://www.oreilly.co.jp/books/9784873116983/

<この項は書きかけです。順次追記します。>
## docker
dockerは複数人で同じ設定で作業、実験、実習ができるとても便利な道具です。
それまで利用していた環境とは全く別に作ります。
それまでどのような設定をしていても、dockerが起動し、ネットがつながれば大丈夫です。ここでは、本で紹介しているdockerの資料に直接基づかず、すぐに利用できる環境を提供し、またご自身で新たに導入したソフトを含めて、保存しておく方法を紹介します。
### docker起動
dockerを導入し、Windows, Macではdockerを起動しておいてください。
Windowsでは、BiosでIntel Virtualizationをenableにしないとdockerが起動しない場合があります。
また、セキュリティの警告などが出ることがあります。
システム管理者での作業が必要になります。
### docker pull and run

```
$ docker pull kaizenjapan/anaconda2-willi

$ docker run -it -p 8888:8888 kaizenjapan/anaconda2-willi /bin/bash
```

dockerの中と、dockerを起動したOSのシェルとが表示が似ている場合には、どちらで操作しているか間違えることがあります。dockerの入力促進記号(comman prompt)は、docker idの数字が何桁かついています。
## 第1章
以下のshell sessionでは

```
(base) root@9f32435de7a9#
```
は入力促進記号(comman prompt)です。実際には数字の部分が違うかもしれません。この行の#の右側を入力してください。
それ以外の行は出力です。出力にエラー、違いがあれば、コメント欄などでご連絡くださると幸いです。
それぞれの章のフォルダに移動します。

現在、まだエラーが取れていません。
うまくエラーを取る方法がありましたら、ご教示ください。

```shell-session:docker
(base) root@9f32435de7a9:/BuildingMachineLearningSystemsWithPython/ch01# python analyze_webstats.py 
Traceback (most recent call last):
  File "analyze_webstats.py", line 10, in <module>
    import matplotlib.pyplot as plt
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 62, in pylab_setup
    [backend_name], 0)
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/backends/backend_qt5agg.py", line 15, in <module>
    from .backend_qt5 import (
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/backends/backend_qt5.py", line 19, in <module>
    import matplotlib.backends.qt_editor.figureoptions as figureoptions
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/backends/qt_editor/figureoptions.py", line 20, in <module>
    import matplotlib.backends.qt_editor.formlayout as formlayout
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/backends/qt_editor/formlayout.py", line 54, in <module>
    from matplotlib.backends.qt_compat import QtGui, QtWidgets, QtCore
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/backends/qt_compat.py", line 158, in <module>
    raise ImportError("Failed to import any qt binding")
ImportError: Failed to import any qt binding
(base) root@9f32435de7a9:/BuildingMachineLearningSystemsWithPython/ch01# conda install tensorflow
Solving environment: done

# All requested packages already installed.
 
(base) root@9f32435de7a9:/BuildingMachineLearningSystemsWithPython/ch01# pip install --upgrade pip
Requirement already up-to-date: pip in /opt/conda/lib/python2.7/site-packages (18.1)
(base) root@9f32435de7a9:/BuildingMachineLearningSystemsWithPython/ch01# pip uninstall matplotlib
Uninstalling matplotlib-2.2.3:
  Would remove:
    /opt/conda/lib/python2.7/site-packages/matplotlib
    /opt/conda/lib/python2.7/site-packages/matplotlib-2.2.3-py2.7.egg-info
    /opt/conda/lib/python2.7/site-packages/pylab.py
Proceed (y/n)? pip install matplotlib
Your response ('pip install matplotlib') was not one of the expected responses: y, n
Proceed (y/n)? y
  Successfully uninstalled matplotlib-2.2.3
(base) root@9f32435de7a9:/BuildingMachineLearningSystemsWithPython/ch01# pip install matplotlib
Collecting matplotlib
  Downloading https://files.pythonhosted.org/packages/59/08/04933377dc4500e3698e93f9113dc3624874e0914f4c85767ecb5b389084/matplotlib-2.2.3-cp27-cp27mu-manylinux1_x86_64.whl (12.6MB)
    100% |████████████████████████████████| 12.6MB 2.3MB/s 
Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python2.7/site-packages (from matplotlib) (2.7.3)
Requirement already satisfied: subprocess32 in /opt/conda/lib/python2.7/site-packages (from matplotlib) (3.5.2)
Requirement already satisfied: cycler>=0.10 in /opt/conda/lib/python2.7/site-packages (from matplotlib) (0.10.0)
Requirement already satisfied: six>=1.10 in /opt/conda/lib/python2.7/site-packages (from matplotlib) (1.11.0)
Requirement already satisfied: backports.functools-lru-cache in /opt/conda/lib/python2.7/site-packages (from matplotlib) (1.5)
Requirement already satisfied: pytz in /opt/conda/lib/python2.7/site-packages (from matplotlib) (2018.5)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /opt/conda/lib/python2.7/site-packages (from matplotlib) (2.2.0)
Requirement already satisfied: numpy>=1.7.1 in /opt/conda/lib/python2.7/site-packages (from matplotlib) (1.15.1)
Requirement already satisfied: kiwisolver>=1.0.1 in /opt/conda/lib/python2.7/site-packages (from matplotlib) (1.0.1)
Requirement already satisfied: setuptools in /opt/conda/lib/python2.7/site-packages (from kiwisolver>=1.0.1->matplotlib) (40.2.0)
Installing collected packages: matplotlib
Successfully installed matplotlib-2.2.3
(base) root@9f32435de7a9:/BuildingMachineLearningSystemsWithPython/ch01# python analyze_webstats.py 
[[1.000e+00 2.272e+03]
 [2.000e+00 1.656e+03]
 [3.000e+00 1.386e+03]
 [4.000e+00 1.365e+03]
 [5.000e+00 1.488e+03]
 [6.000e+00 1.337e+03]
 [7.000e+00 1.883e+03]
 [8.000e+00 2.283e+03]
 [9.000e+00 1.335e+03]
 [1.000e+01 1.025e+03]]
('Number of invalid entries:', 0)
Traceback (most recent call last):
  File "analyze_webstats.py", line 59, in <module>
    plot_models(x, y, None, os.path.join("..", "1400_01_01.png"))
  File "analyze_webstats.py", line 31, in plot_models
    plt.clf()
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/pyplot.py", line 671, in clf
    gcf().clf()
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/pyplot.py", line 586, in gcf
    return figure()
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/pyplot.py", line 533, in figure
    **kwargs)
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/backend_bases.py", line 161, in new_figure_manager
    return cls.new_figure_manager_given_figure(num, fig)
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/backends/_backend_tk.py", line 1046, in new_figure_manager_given_figure
    window = Tk.Tk(className="matplotlib")
  File "/opt/conda/lib/python2.7/lib-tk/Tkinter.py", line 1819, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
(base) root@9f32435de7a9:/BuildingMachineLearningSystemsWithPython/ch01# 
```

dockerを起動したOSのブラウザで localhost:8888 を表示してください。



tokenの欄に、7a5331fc8bad20cea75fc965e0734876860496be34ddf2c9
をコピペ



01_the_machine_learning_landscape.ipynb	
選択



# 2. 各種エラーを取った経緯

## python3で起動

本の記述をよく読まず、python3(anaconda3)を導入してエラーを出した。
python2(anaconda2)を導入し直した。
dockerだと、先に導入したものを終了すれば、全く他に影響を与えなくん楽ちん。

## plot関連のエラー

pipでmatplotlibを再導入したらでなくなった。


## 

```
(base) root@9f32435de7a9:/BuildingMachineLearningSystemsWithPython/ch01# python analyze_webstats.py 
[[1.000e+00 2.272e+03]
 [2.000e+00 1.656e+03]
 [3.000e+00 1.386e+03]
 [4.000e+00 1.365e+03]
 [5.000e+00 1.488e+03]
 [6.000e+00 1.337e+03]
 [7.000e+00 1.883e+03]
 [8.000e+00 2.283e+03]
 [9.000e+00 1.335e+03]
 [1.000e+01 1.025e+03]]
('Number of invalid entries:', 0)
Traceback (most recent call last):
  File "analyze_webstats.py", line 59, in <module>
    plot_models(x, y, None, os.path.join("..", "1400_01_01.png"))
  File "analyze_webstats.py", line 31, in plot_models
    plt.clf()
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/pyplot.py", line 671, in clf
    gcf().clf()
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/pyplot.py", line 586, in gcf
    return figure()
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/pyplot.py", line 533, in figure
    **kwargs)
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/backend_bases.py", line 161, in new_figure_manager
    return cls.new_figure_manager_given_figure(num, fig)
  File "/opt/conda/lib/python2.7/site-packages/matplotlib/backends/_backend_tk.py", line 1046, in new_figure_manager_given_figure
    window = Tk.Tk(className="matplotlib")
  File "/opt/conda/lib/python2.7/lib-tk/Tkinter.py", line 1819, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
```
import matplotlib as mpl
mpl.use('Agg')
の２行を付け加えると、エラーは次のように変わる。


```
(base) root@9f32435de7a9:/BuildingMachineLearningSystemsWithPython/ch01# python analyze_webstats.py 
[[1.000e+00 2.272e+03]
 [2.000e+00 1.656e+03]
 [3.000e+00 1.386e+03]
 [4.000e+00 1.365e+03]
 [5.000e+00 1.488e+03]
 [6.000e+00 1.337e+03]
 [7.000e+00 1.883e+03]
 [8.000e+00 2.283e+03]
 [9.000e+00 1.335e+03]
 [1.000e+01 1.025e+03]]
('Number of invalid entries:', 0)
Model parameters: [   2.57152281 1002.10684085]
('Error of the model:', array([3.19874315e+08]))
/opt/conda/lib/python2.7/site-packages/numpy/lib/polynomial.py:578: RuntimeWarning: overflow encountered in multiply
  scale = NX.sqrt((lhs*lhs).sum(axis=0))
/opt/conda/lib/python2.7/site-packages/numpy/core/_methods.py:36: RuntimeWarning: overflow encountered in reduce
  return umr_sum(a, axis, dtype, out, keepdims, initial)
analyze_webstats.py:71: RankWarning: Polyfit may be poorly conditioned
  f100 = sp.poly1d(sp.polyfit(x, y, 100))
Traceback (most recent call last):
  File "analyze_webstats.py", line 80, in <module>
    xa = x[:inflection]
TypeError: slice indices must be integers or None or have an __index__ method
```
79行にint関数を追加。
inflection = int(3.5 * 7 * 24) # TypeError: slice indices must be integers or None or have an __index__ method


```
(base) root@9f32435de7a9:/BuildingMachineLearningSystemsWithPython/ch01# python analyze_webstats.py 
[[1.000e+00 2.272e+03]
 [2.000e+00 1.656e+03]
 [3.000e+00 1.386e+03]
 [4.000e+00 1.365e+03]
 [5.000e+00 1.488e+03]
 [6.000e+00 1.337e+03]
 [7.000e+00 1.883e+03]
 [8.000e+00 2.283e+03]
 [9.000e+00 1.335e+03]
 [1.000e+01 1.025e+03]]
('Number of invalid entries:', 0)
Model parameters: [   2.57152281 1002.10684085]
('Error of the model:', array([3.19874315e+08]))
/opt/conda/lib/python2.7/site-packages/numpy/lib/polynomial.py:578: RuntimeWarning: overflow encountered in multiply
  scale = NX.sqrt((lhs*lhs).sum(axis=0))
/opt/conda/lib/python2.7/site-packages/numpy/core/_methods.py:36: RuntimeWarning: overflow encountered in reduce
  return umr_sum(a, axis, dtype, out, keepdims, initial)
analyze_webstats.py:71: RankWarning: Polyfit may be poorly conditioned
  f100 = sp.poly1d(sp.polyfit(x, y, 100))
Errors for the complete data set:
Error d=1: 319874314.777419
Error d=2: 182006476.431710
Error d=3: 140655634.699245
Error d=10: 123592114.553118
Error d=53: 111276325.816514
Errors for only the time after inflection point
Error d=1: 147651658.425710
Error d=2: 63345307.090621
Error d=3: 34668520.328785
Error d=10: 23118096.679445
Error d=53: 20394625.617148
Error inflection=136467834.765625
Trained only on data after inflection point
analyze_webstats.py:115: RankWarning: Polyfit may be poorly conditioned
  fb10 = sp.poly1d(sp.polyfit(xb, yb, 10))
analyze_webstats.py:116: RankWarning: Polyfit may be poorly conditioned
  fb100 = sp.poly1d(sp.polyfit(xb, yb, 100))
Errors for only the time after inflection point
Error d=1: 26975119.829741
Error d=2: 21985756.969013
Error d=3: 21807724.363931
Error d=10: 20604865.999491
Error d=53: 19589909.088950
analyze_webstats.py:136: RankWarning: Polyfit may be poorly conditioned
  fbt10 = sp.poly1d(sp.polyfit(xb[train], yb[train], 10))
analyze_webstats.py:137: RankWarning: Polyfit may be poorly conditioned
  fbt100 = sp.poly1d(sp.polyfit(xb[train], yb[train], 100))
Test errors for only the time after inflection point
Error d=1: 8102343.162989
Error d=2: 6015103.019447
Error d=3: 6316719.326090
Error d=10: 7222791.170787
Error d=53: 6851508.554098
         2
0.09915 x - 112.8 x + 3.41e+04
         2
0.09915 x - 112.8 x - 6.59e+04
100,000 hits/hour expected at week 9.303590
```
前の変更を取り消し、代入文にint関数を加えてみる。
xa = x[:int(inflection)]
ya = y[:int(inflection)]
xb = x[int(inflection):]
yb = y[int(inflection):]

```
(base) root@9f32435de7a9:/BuildingMachineLearningSystemsWithPython/ch01# python analyze_webstats.py 
[[1.000e+00 2.272e+03]
 [2.000e+00 1.656e+03]
 [3.000e+00 1.386e+03]
 [4.000e+00 1.365e+03]
 [5.000e+00 1.488e+03]
 [6.000e+00 1.337e+03]
 [7.000e+00 1.883e+03]
 [8.000e+00 2.283e+03]
 [9.000e+00 1.335e+03]
 [1.000e+01 1.025e+03]]
('Number of invalid entries:', 0)
Model parameters: [   2.57152281 1002.10684085]
('Error of the model:', array([3.19874315e+08]))
/opt/conda/lib/python2.7/site-packages/numpy/lib/polynomial.py:578: RuntimeWarning: overflow encountered in multiply
  scale = NX.sqrt((lhs*lhs).sum(axis=0))
/opt/conda/lib/python2.7/site-packages/numpy/core/_methods.py:36: RuntimeWarning: overflow encountered in reduce
  return umr_sum(a, axis, dtype, out, keepdims, initial)
analyze_webstats.py:71: RankWarning: Polyfit may be poorly conditioned
  f100 = sp.poly1d(sp.polyfit(x, y, 100))
Errors for the complete data set:
Error d=1: 319874314.777419
Error d=2: 182006476.431710
Error d=3: 140655634.699245
Error d=10: 123592114.553118
Error d=53: 111276325.816514
Errors for only the time after inflection point
Error d=1: 147651658.425710
Error d=2: 63345307.090621
Error d=3: 34668520.328785
Error d=10: 23118096.679445
Error d=53: 20394625.617148
Error inflection=136467834.765625
Trained only on data after inflection point
analyze_webstats.py:115: RankWarning: Polyfit may be poorly conditioned
  fb10 = sp.poly1d(sp.polyfit(xb, yb, 10))
analyze_webstats.py:116: RankWarning: Polyfit may be poorly conditioned
  fb100 = sp.poly1d(sp.polyfit(xb, yb, 100))
Errors for only the time after inflection point
Error d=1: 26975119.829741
Error d=2: 21985756.969013
Error d=3: 21807724.363931
Error d=10: 20604865.999491
Error d=53: 19589909.088950
analyze_webstats.py:136: RankWarning: Polyfit may be poorly conditioned
  fbt10 = sp.poly1d(sp.polyfit(xb[train], yb[train], 10))
analyze_webstats.py:137: RankWarning: Polyfit may be poorly conditioned
  fbt100 = sp.poly1d(sp.polyfit(xb[train], yb[train], 100))
Test errors for only the time after inflection point
Error d=1: 7132411.480159
Error d=2: 5673594.303076
Error d=3: 5613429.342371
Error d=10: 5713678.619663
Error d=53: 6367113.789256
       2
0.101 x - 115.1 x + 3.481e+04
       2
0.101 x - 115.1 x - 6.519e+04
100,000 hits/hour expected at week 9.252794
```

# 3. dockerを自力で構築する方へ
anaconda/keras/tensorflow方針(docker deploy policy)

ここから下は、上記のpullしていただいたdockerをどういう方針で、どういう手順で作ったかを記録します。
上記のdockerを利用する上での参考資料です。１章の続きをする上では必要ありません。
自力でdocker/anaconda/keras/tensorflowを構築する場合の手順になります。
dockerfileを作る方法ではありません。ごめんなさい。

## docker
ubuntu, debianなどのLinuxを、linux, windows, mac osから共通に利用できる仕組み。
利用するOSの設定を変更せずに利用できるのがよい。
同じ仕様で、大量の人が利用することができる。

ソフトウェアの開発元が公式に対応しているものと、利用者が便利に仕立てたものの両方が利用可能である。今回は、公式に配布しているものを、自分で仕立てて、他の人にも利用できるようにする。
## python
DeepLearningの実習をPhthonで行って来た。
pythonを使う理由は、多くの機械学習の仕組みがpythonで利用できることと、Rなどの統計解析の仕組みもpythonから容易に利用できることがある。
### anaconda
pythonには、2と３という版の違いと、配布方法の違いなどがある。
Anacondaでpython3をこの１年半利用してきた。

Anacondaを利用した理由は、統計解析のライブラリと、JupyterNotebookが初めから入っているからである。

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

## docker pull
docker公式配布の利用は、URLからpullすることで実現する。

### docker Anaconda
anacondaが公式配布しているものを利用。

```
$  docker pull continuumio/anaconda2
05d1a5232b46: Already exists 
b46ad780a34a: Pull complete 
543ba6ae39a1: Pull complete 
a617ad1c5335: Pull complete 
Digest: sha256:0939eb5c7f27e86f84591cd56fa8b89f02fcee52176e5951676c70c3bdbfd3fd
Status: Downloaded newer image for continuumio/anaconda2:latest
```

## docker run
実行はdocker runである。
今回はブラウザで閲覧するため-pの設定を行う。

```
$ docker run -it  continuumio/anaconda2 /bin/bash
(base) root@bab8510e7b8e:/# 
```

## apt
ubuntu, debianはDebian系の道具類の配布の仕組みが利用できる。
aptのよいところは、debianというカーネルの開発者が大勢集まっており、基本機能の整合性を厳密に取っているところにある。
通信規約の改良にあたって、Linuxのカーネルに手を入れる必要があったときに、ソースをaptで導入し、patch適用後コンパイルしてもエラーなくコンパイルできて以来、linuxといえばaptが利用できるDebian系を愛用している。
Raspberry PIで有名なRaspbianもDebian系で、aptが利用できる。
そのため、dockerで作業した状況をRaspbianで再現することはとても容易である。

```
(base) root@0da2c87a513f:/# # apt update
Ign:1 http://deb.debian.org/debian stretch InRelease
Get:2 http://security.debian.org/debian-security stretch/updates InRelease [94.3 kB]
Get:3 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB]
Hit:4 http://deb.debian.org/debian stretch Release                       
Get:5 http://security.debian.org/debian-security stretch/updates/main amd64 Packages [447 kB]
Fetched 632 kB in 1s (479 kB/s)                            
Reading package lists... Done
```

## git
本にあるURLからgitで取得する。

```
(base) root@b789c278e622:/# git clone https://github.com/wrichert/BuildingMachineLearningSystemsWithPython
```

## pip install


```
(base) root@bab8510e7b8e:/BuildingMachineLearningSystemsWithPython/ch01# pip install QtGui
Collecting QtGui
  Downloading https://files.pythonhosted.org/packages/01/3a/fbc802c50f2db85fff637388e3fed3a17f5c848febe6815ef29d13c60e00/qtgui-0.0.1.tar.gz
Building wheels for collected packages: QtGui
  Running setup.py bdist_wheel for QtGui ... done
  Stored in directory: /root/.cache/pip/wheels/dc/24/19/968e6c14da845bd653d59c2de3bd550c0d636afb15b53020ed
Successfully built QtGui
Installing collected packages: QtGui
Successfully installed QtGui-0.0.1
```

## conda install
pythonには、pipというpythonのライブラリ等を導入する仕組みがある。
今回は、condaというanaconda専用のライブラリ導入の仕組みを利用してみる。
### conda install tensorflow

```
(base) root@5a5136f16eab:/handson-ml# conda install tensorflow
Solving environment: done

## Package Plan ##

  environment location: /opt/conda

  added / updated specs: 
    - tensorflow


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    jdcal-1.4                  |           py36_0          11 KB
    multipledispatch-0.6.0     |           py36_0          21 KB


（中略）

    patsy-0.5.0                |           py36_0         322 KB
    sphinxcontrib-websupport-1.1.0|           py36_1          36 KB
    astroid-2.0.4              |           py36_0         247 KB
    ------------------------------------------------------------
                                           Total:       339.6 MB

The following NEW packages will be INSTALLED:

    _tflow_select:                      2.3.0-mkl                
    absl-py:                            0.5.0-py36_0             
    astor:                              0.7.1-py36_0             
    gast:                               0.2.0-py36_0             
    grpcio:                             1.12.1-py36hdbcaa40_0    
    keras-applications:                 1.0.6-py36_0             
    keras-preprocessing:                1.0.5-py36_0             
    libprotobuf:                        3.6.0-hdbcaa40_0         
    markdown:                           2.6.11-py36_0            
    protobuf:                           3.6.0-py36hf484d3e_0     
    tensorboard:                        1.11.0-py36hf484d3e_0    
    tensorflow:                         1.11.0-mkl_py36ha6f0bda_0
    tensorflow-base:                    1.11.0-mkl_py36h3c3e929_0
    termcolor:                          1.1.0-py36_1             
    typed-ast:                          1.1.0-py36h14c3975_0     

The following packages will be REMOVED:

    anaconda:                           5.3.0-py37_0             

The following packages will be UPDATED:

    _ipyw_jlab_nb_ext_conf:             0.1.0-py37_0              --> 0.1.0-py36_0           
    alabaster:                          0.7.11-py37_0             --> 0.7.11-py36_0          
    anaconda-client:                    1.7.2-py37_0              --> 1.7.2-py36_0           
    anaconda-navigator:                 1.9.2-py37_0              --> 1.9.2-py36_0           
    anaconda-project:                   0.8.2-py37_0              --> 0.8.2-py36_0           
    appdirs:                            1.4.3-py37h28b3542_0      --> 1.4.3-py36h28b3542_0   
    asn1crypto:                         0.24.0-py37_0             --> 0.24.0-py36_0          
    astroid:                            2.0.4-py37_0              --> 2.0.4-py36_0           
    astropy:                            3.0.4-py37h14c3975_0      --> 3.0.4-py36h14c3975_0   
    atomicwrites:                       1.2.1-py37_0              --> 1.2.1-py36_0           
    attrs:                              18.2.0-py37h28b3542_0     --> 18.2.0-py36h28b3542_0  
    automat:                            0.7.0-py37_0              --> 0.7.0-py36_0           
    babel:                              2.6.0-py37_0              --> 2.6.0-py36_0           
    backcall:                           0.1.0-py37_0              --> 0.1.0-py36_0           
    backports:                          1.0-py37_1                --> 1.0-py36_1             
    backports.shutil_get_terminal_size: 1.0.0-py37_2              --> 1.0.0-py36_2           
    beautifulsoup4:                     4.6.3-py37_0              --> 4.6.3-py36_0           
    bitarray:                           0.8.3-py37h14c3975_0      --> 0.8.3-py36h14c3975_0   
    bkcharts:                           0.2-py37_0                --> 0.2-py36_0             
    blaze:                              0.11.3-py37_0             --> 0.11.3-py36_0          
    bleach:                             2.1.4-py37_0              --> 2.1.4-py36_0           
    bokeh:                              0.13.0-py37_0             --> 0.13.0-py36_0          
    boto:                               2.49.0-py37_0             --> 2.49.0-py36_0          
    bottleneck:                         1.2.1-py37h035aef0_1      --> 1.2.1-py36h035aef0_1   
    certifi:                            2018.8.24-py37_1          --> 2018.8.24-py36_1       
    cffi:                               1.11.5-py37he75722e_1     --> 1.11.5-py36he75722e_1  
    chardet:                            3.0.4-py37_1              --> 3.0.4-py36_1           
    click:                              6.7-py37_0                --> 7.0-py36_0             
    cloudpickle:                        0.5.5-py37_0              --> 0.5.6-py36_0           
    clyent:                             1.2.2-py37_1              --> 1.2.2-py36_1           
    colorama:                           0.3.9-py37_0              --> 0.3.9-py36_0           
    conda:                              4.5.11-py37_0             --> 4.5.11-py36_0          
    conda-build:                        3.15.1-py37_0             --> 3.15.1-py36_0          
    constantly:                         15.1.0-py37h28b3542_0     --> 15.1.0-py36h28b3542_0  
    contextlib2:                        0.5.5-py37_0              --> 0.5.5-py36_0           
    cryptography:                       2.3.1-py37hc365091_0      --> 2.3.1-py36hc365091_0   
    cycler:                             0.10.0-py37_0             --> 0.10.0-py36_0          
    cython:                             0.28.5-py37hf484d3e_0     --> 0.28.5-py36hf484d3e_0  
    cytoolz:                            0.9.0.1-py37h14c3975_1    --> 0.9.0.1-py36h14c3975_1 
    dask:                               0.19.1-py37_0             --> 0.19.2-py36_0          
    dask-core:                          0.19.1-py37_0             --> 0.19.2-py36_0          
    datashape:                          0.5.4-py37_1              --> 0.5.4-py36_1           
    decorator:                          4.3.0-py37_0              --> 4.3.0-py36_0           
    defusedxml:                         0.5.0-py37_1              --> 0.5.0-py36_1           
    distributed:                        1.23.1-py37_0             --> 1.23.2-py36_0          
    docutils:                           0.14-py37_0               --> 0.14-py36_0            
    entrypoints:                        0.2.3-py37_2              --> 0.2.3-py36_2           
    et_xmlfile:                         1.0.1-py37_0              --> 1.0.1-py36_0           
    fastcache:                          1.0.2-py37h14c3975_2      --> 1.0.2-py36h14c3975_2   
    filelock:                           3.0.8-py37_0              --> 3.0.8-py36_0           
    flask:                              1.0.2-py37_1              --> 1.0.2-py36_1           
    flask-cors:                         3.0.6-py37_0              --> 3.0.6-py36_0           
    gevent:                             1.3.6-py37h7b6447c_0      --> 1.3.6-py36h7b6447c_0   
    glob2:                              0.6-py37_0                --> 0.6-py36_1             
    gmpy2:                              2.0.8-py37h10f8cd9_2      --> 2.0.8-py36h10f8cd9_2   
    greenlet:                           0.4.15-py37h7b6447c_0     --> 0.4.15-py36h7b6447c_0  
    h5py:                               2.8.0-py37h989c5e5_3      --> 2.8.0-py36h989c5e5_3   
    heapdict:                           1.0.0-py37_2              --> 1.0.0-py36_2           
    html5lib:                           1.0.1-py37_0              --> 1.0.1-py36_0           
    hyperlink:                          18.0.0-py37_0             --> 18.0.0-py36_0          
    idna:                               2.7-py37_0                --> 2.7-py36_0             
    imageio:                            2.4.1-py37_0              --> 2.4.1-py36_0           
    imagesize:                          1.1.0-py37_0              --> 1.1.0-py36_0           
    incremental:                        17.5.0-py37_0             --> 17.5.0-py36_0          
    ipykernel:                          4.9.0-py37_1              --> 5.0.0-py36h39e3cac_0   
    ipython:                            6.5.0-py37_0              --> 7.0.1-py36h39e3cac_0   
    ipython_genutils:                   0.2.0-py37_0              --> 0.2.0-py36_0           
    ipywidgets:                         7.4.1-py37_0              --> 7.4.2-py36_0           
    isort:                              4.3.4-py37_0              --> 4.3.4-py36_0           
    itsdangerous:                       0.24-py37_1               --> 0.24-py36_1            
    jdcal:                              1.4-py37_0                --> 1.4-py36_0             
    jedi:                               0.12.1-py37_0             --> 0.12.1-py36_0          
    jeepney:                            0.3.1-py37_0              --> 0.4-py36_0             
    jinja2:                             2.10-py37_0               --> 2.10-py36_0            
    jsonschema:                         2.6.0-py37_0              --> 2.6.0-py36_0           
    jupyter:                            1.0.0-py37_7              --> 1.0.0-py36_7           
    jupyter_client:                     5.2.3-py37_0              --> 5.2.3-py36_0           
    jupyter_console:                    5.2.0-py37_1              --> 5.2.0-py36_1           
    jupyter_core:                       4.4.0-py37_0              --> 4.4.0-py36_0           
    jupyterlab:                         0.34.9-py37_0             --> 0.34.12-py36_0         
    jupyterlab_launcher:                0.13.1-py37_0             --> 0.13.1-py36_0          
    keyring:                            13.2.1-py37_0             --> 13.2.1-py36_0          
    kiwisolver:                         1.0.1-py37hf484d3e_0      --> 1.0.1-py36hf484d3e_0   
    lazy-object-proxy:                  1.3.1-py37h14c3975_2      --> 1.3.1-py36h14c3975_2   
    llvmlite:                           0.24.0-py37hdbcaa40_0     --> 0.25.0-py36hd408876_0  
    locket:                             0.2.0-py37_1              --> 0.2.0-py36_1           
    lxml:                               4.2.5-py37hefd8a0e_0      --> 4.2.5-py36hefd8a0e_0   
    markupsafe:                         1.0-py37h14c3975_1        --> 1.0-py36h14c3975_1     
    matplotlib:                         2.2.3-py37hb69df0a_0      --> 3.0.0-py36h5429711_0   
    mccabe:                             0.6.1-py37_1              --> 0.6.1-py36_1           
    mistune:                            0.8.3-py37h14c3975_1      --> 0.8.3-py36h14c3975_1   
    mkl-service:                        1.1.2-py37h90e4bf4_5      --> 1.1.2-py36h90e4bf4_5   
    mkl_fft:                            1.0.4-py37h4414c95_1      --> 1.0.6-py36h7dd41cf_0   
    mkl_random:                         1.0.1-py37h4414c95_1      --> 1.0.1-py36h4414c95_1   
    more-itertools:                     4.3.0-py37_0              --> 4.3.0-py36_0           
    mpmath:                             1.0.0-py37_2              --> 1.0.0-py36_2           
    msgpack-python:                     0.5.6-py37h6bb024c_1      --> 0.5.6-py36h6bb024c_1   
    multipledispatch:                   0.6.0-py37_0              --> 0.6.0-py36_0           
    navigator-updater:                  0.2.1-py37_0              --> 0.2.1-py36_0           
    nbconvert:                          5.4.0-py37_1              --> 5.4.0-py36_1           
    nbformat:                           4.4.0-py37_0              --> 4.4.0-py36_0           
    networkx:                           2.1-py37_0                --> 2.2-py36_1             
    nltk:                               3.3.0-py37_0              --> 3.3.0-py36_0           
    nose:                               1.3.7-py37_2              --> 1.3.7-py36_2           
    notebook:                           5.6.0-py37_0              --> 5.7.0-py36_0           
    numba:                              0.39.0-py37h04863e7_0     --> 0.40.0-py36h962f231_0  
    numexpr:                            2.6.8-py37hd89afb7_0      --> 2.6.8-py36hd89afb7_0   
    numpy:                              1.15.1-py37h1d66e8a_0     --> 1.15.2-py36h1d66e8a_1  
    numpy-base:                         1.15.1-py37h81de0dd_0     --> 1.15.2-py36h81de0dd_1  
    numpydoc:                           0.8.0-py37_0              --> 0.8.0-py36_0           
    odo:                                0.5.1-py37_0              --> 0.5.1-py36_0           
    olefile:                            0.46-py37_0               --> 0.46-py36_0            
    openpyxl:                           2.5.6-py37_0              --> 2.5.8-py36_0           
    packaging:                          17.1-py37_0               --> 18.0-py36_0            
    pandas:                             0.23.4-py37h04863e7_0     --> 0.23.4-py36h04863e7_0  
    pandocfilters:                      1.4.2-py37_1              --> 1.4.2-py36_1           
    parso:                              0.3.1-py37_0              --> 0.3.1-py36_0           
    partd:                              0.3.8-py37_0              --> 0.3.8-py36_0           
    path.py:                            11.1.0-py37_0             --> 11.1.0-py36_0          
    pathlib2:                           2.3.2-py37_0              --> 2.3.2-py36_0           
    patsy:                              0.5.0-py37_0              --> 0.5.0-py36_0           
    pep8:                               1.7.1-py37_0              --> 1.7.1-py36_0           
    pexpect:                            4.6.0-py37_0              --> 4.6.0-py36_0           
    pickleshare:                        0.7.4-py37_0              --> 0.7.5-py36_0           
    pillow:                             5.2.0-py37heded4f4_0      --> 5.3.0-py36h34e0f95_0   
    pip:                                10.0.1-py37_0             --> 10.0.1-py36_0          
    pkginfo:                            1.4.2-py37_1              --> 1.4.2-py36_1           
    pluggy:                             0.7.1-py37h28b3542_0      --> 0.7.1-py36h28b3542_0   
    ply:                                3.11-py37_0               --> 3.11-py36_0            
    prometheus_client:                  0.3.1-py37h28b3542_0      --> 0.3.1-py36h28b3542_0   
    prompt_toolkit:                     1.0.15-py37_0             --> 2.0.5-py36_0           
    psutil:                             5.4.7-py37h14c3975_0      --> 5.4.7-py36h14c3975_0   
    ptyprocess:                         0.6.0-py37_0              --> 0.6.0-py36_0           
    py:                                 1.6.0-py37_0              --> 1.6.0-py36_0           
    pyasn1:                             0.4.4-py37h28b3542_0      --> 0.4.4-py36h28b3542_0   
    pyasn1-modules:                     0.2.2-py37_0              --> 0.2.2-py36_0           
    pycodestyle:                        2.4.0-py37_0              --> 2.4.0-py36_0           
    pycosat:                            0.6.3-py37h14c3975_0      --> 0.6.3-py36h14c3975_0   
    pycparser:                          2.18-py37_1               --> 2.19-py36_0            
    pycrypto:                           2.6.1-py37h14c3975_9      --> 2.6.1-py36h14c3975_9   
    pycurl:                             7.43.0.2-py37hb7f436b_0   --> 7.43.0.2-py36hb7f436b_0
    pyflakes:                           2.0.0-py37_0              --> 2.0.0-py36_0           
    pygments:                           2.2.0-py37_0              --> 2.2.0-py36_0           
    pylint:                             2.1.1-py37_0              --> 2.1.1-py36_0           
    pyodbc:                             4.0.24-py37he6710b0_0     --> 4.0.24-py36he6710b0_0  
    pyopenssl:                          18.0.0-py37_0             --> 18.0.0-py36_0          
    pyparsing:                          2.2.0-py37_1              --> 2.2.1-py36_0           
    pyqt:                               5.9.2-py37h05f1152_2      --> 5.9.2-py36h05f1152_2   
    pysocks:                            1.6.8-py37_0              --> 1.6.8-py36_0           
    pytables:                           3.4.4-py37ha205bf6_0      --> 3.4.4-py36ha205bf6_0   
    pytest:                             3.8.0-py37_0              --> 3.8.1-py36_0           
    pytest-arraydiff:                   0.2-py37h39e3cac_0        --> 0.2-py36h39e3cac_0     
    pytest-astropy:                     0.4.0-py37_0              --> 0.4.0-py36_0           
    pytest-doctestplus:                 0.1.3-py37_0              --> 0.1.3-py36_0           
    pytest-openfiles:                   0.3.0-py37_0              --> 0.3.0-py36_0           
    pytest-remotedata:                  0.3.0-py37_0              --> 0.3.0-py36_0           
    python-dateutil:                    2.7.3-py37_0              --> 2.7.3-py36_0           
    pytz:                               2018.5-py37_0             --> 2018.5-py36_0          
    pywavelets:                         1.0.0-py37hdd07704_0      --> 1.0.1-py36hdd07704_0   
    pyyaml:                             3.13-py37h14c3975_0       --> 3.13-py36h14c3975_0    
    pyzmq:                              17.1.2-py37h14c3975_0     --> 17.1.2-py36h14c3975_0  
    qtawesome:                          0.4.4-py37_0              --> 0.5.0-py36_0           
    qtconsole:                          4.4.1-py37_0              --> 4.4.1-py36_0           
    qtpy:                               1.5.0-py37_0              --> 1.5.1-py36_0           
    requests:                           2.19.1-py37_0             --> 2.19.1-py36_0          
    rope:                               0.11.0-py37_0             --> 0.11.0-py36_0          
    ruamel_yaml:                        0.15.46-py37h14c3975_0    --> 0.15.46-py36h14c3975_0 
    scikit-image:                       0.14.0-py37hf484d3e_1     --> 0.14.0-py36hf484d3e_1  
    scikit-learn:                       0.19.2-py37h4989274_0     --> 0.20.0-py36h4989274_1  
    scipy:                              1.1.0-py37hfa4b5c9_1      --> 1.1.0-py36hfa4b5c9_1   
    seaborn:                            0.9.0-py37_0              --> 0.9.0-py36_0           
    secretstorage:                      3.1.0-py37_0              --> 3.1.0-py36_0           
    send2trash:                         1.5.0-py37_0              --> 1.5.0-py36_0           
    service_identity:                   17.0.0-py37h28b3542_0     --> 17.0.0-py36h28b3542_0  
    setuptools:                         40.2.0-py37_0             --> 40.4.3-py36_0          
    simplegeneric:                      0.8.1-py37_2              --> 0.8.1-py36_2           
    singledispatch:                     3.4.0.3-py37_0            --> 3.4.0.3-py36_0         
    sip:                                4.19.8-py37hf484d3e_0     --> 4.19.8-py36hf484d3e_0  
    six:                                1.11.0-py37_1             --> 1.11.0-py36_1          
    snowballstemmer:                    1.2.1-py37_0              --> 1.2.1-py36_0           
    sortedcollections:                  1.0.1-py37_0              --> 1.0.1-py36_0           
    sortedcontainers:                   2.0.5-py37_0              --> 2.0.5-py36_0           
    sphinx:                             1.7.9-py37_0              --> 1.8.1-py36_0           
    sphinxcontrib:                      1.0-py37_1                --> 1.0-py36_1             
    sphinxcontrib-websupport:           1.1.0-py37_1              --> 1.1.0-py36_1           
    spyder:                             3.3.1-py37_1              --> 3.3.1-py36_1           
    spyder-kernels:                     0.2.6-py37_0              --> 0.2.6-py36_0           
    sqlalchemy:                         1.2.11-py37h7b6447c_0     --> 1.2.12-py36h7b6447c_0  
    statsmodels:                        0.9.0-py37h035aef0_0      --> 0.9.0-py36h035aef0_0   
    sympy:                              1.2-py37_0                --> 1.3-py36_0             
    tblib:                              1.3.2-py37_0              --> 1.3.2-py36_0           
    terminado:                          0.8.1-py37_1              --> 0.8.1-py36_1           
    testpath:                           0.3.1-py37_0              --> 0.4.1-py36_0           
    toolz:                              0.9.0-py37_0              --> 0.9.0-py36_0           
    tornado:                            5.1-py37h14c3975_0        --> 5.1.1-py36h7b6447c_0   
    tqdm:                               4.26.0-py37h28b3542_0     --> 4.26.0-py36h28b3542_0  
    traitlets:                          4.3.2-py37_0              --> 4.3.2-py36_0           
    twisted:                            18.7.0-py37h14c3975_1     --> 18.7.0-py36h14c3975_1  
    unicodecsv:                         0.14.1-py37_0             --> 0.14.1-py36_0          
    urllib3:                            1.23-py37_0               --> 1.23-py36_0            
    wcwidth:                            0.1.7-py37_0              --> 0.1.7-py36_0           
    webencodings:                       0.5.1-py37_1              --> 0.5.1-py36_1           
    werkzeug:                           0.14.1-py37_0             --> 0.14.1-py36_0          
    wheel:                              0.31.1-py37_0             --> 0.32.0-py36_0          
    widgetsnbextension:                 3.4.1-py37_0              --> 3.4.2-py36_0           
    wrapt:                              1.10.11-py37h14c3975_2    --> 1.10.11-py36h14c3975_2 
    xlrd:                               1.1.0-py37_1              --> 1.1.0-py36_1           
    xlsxwriter:                         1.1.0-py37_0              --> 1.1.1-py36_0           
    xlwt:                               1.3.0-py37_0              --> 1.3.0-py36_0           
    zict:                               0.1.3-py37_0              --> 0.1.3-py36_0           
    zope:                               1.0-py37_1                --> 1.0-py36_1             
    zope.interface:                     4.5.0-py37h14c3975_0      --> 4.5.0-py36h14c3975_0   

The following packages will be DOWNGRADED:

    python:                             3.7.0-hc3d631a_0          --> 3.6.6-hc3d631a_0       

Proceed ([y]/n)? y


Downloading and Extracting Packages
jdcal-1.4            | 11 KB     | ######################################################################## | 100% 
multipledispatch-0.6 | 21 KB     | ######################################################################## | 100% 

(中略)

patsy-0.5.0          | 322 KB    | ######################################################################## | 100% 
sphinxcontrib-websup | 36 KB     | ######################################################################## | 100% 
astroid-2.0.4        | 247 KB    | ######################################################################## | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
```

# 3. docker hub 登録
ここからは、新たにソフトを導入したdockerを自分のhubに登録する方法です。
ご自身で何かソフトウェアを導入されたら、ぜひhubに登録することをお勧めします。

docker hubへのID登録が必要になります。

続きの作業を誰かに依頼したり、エラーがでてわからなくなったときに、対処方法を問い合わせるのにも役立ちます。
kaizenjapanは小川清のIDです。ご自身のIDで読み替えて、ご登録ください。
## docker push

```
$ docker ps 
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                                            NAMES
5a5136f16eab        continuumio/anaconda3   "/usr/bin/tini -- /b…"   2 hours ago 
peaceful_noice

$ docker commit 5a5136f16eab  kaizenjapan/anaconda-willi
sha256:4c4291a744d335cba469307e8c71e174eb0d25afed02055059bd9654926c80f2
$ docker push kaizenjapan/anaconda-willi
The push refers to repository [docker.io/kaizenjapan/anaconda-willi]
40b1bd665ba4: Pushing  46.21MB/2.017GB
513109f92bd0: Mounted from kaizenjapan/anaconda-pythonai 
443496790d0d: Mounted from kaizenjapan/anaconda-pythonai 
64e142099cde: Mounted from kaizenjapan/anaconda-pythonai 
b28ef0b6fef8: Mounted from kaizenja

```

# 4. 参考資料(reference)
dockerでpython
https://hub.docker.com/r/continuumio/anaconda3/~/dockerfile/

ローカル環境をよごさずに Jupyter で python コードが動く環境を手軽につくる方法
https://qiita.com/yaiwase/items/3a58313e028315004a56

Anaconda の JupyterLab を Docker で使う
https://qiita.com/ao_log/items/350a3845d49f4b1d7198

機械学習を半自動化するauto-sklearnの環境構築（Mac&Docker）
https://qiita.com/inoue0426/items/ffd7f4235dcfde88942b

dockerで機械学習 with anaconda 一覧
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

dockerで機械学習(1)with anaconda(1)「ゼロから作るDeep Learning - Pythonで学ぶディープラーニングの理論と実装」斎藤 康毅 著
https://qiita.com/kaizen_nagoya/items/a7e94ef6dca128d035ab

dockerで機械学習(2)with anaconda(2)「ゼロから作るDeep Learning2自然言語処理編」斎藤 康毅 著
https://qiita.com/kaizen_nagoya/items/3b80dfc76933cea522c6

dockerで機械学習(3)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

「名古屋のIoTは名古屋のOSで」Dockerをどっかーらどうやって使えばいいんでしょう。TOPPERS/FMP on RaspberryPi with Macintosh編 ５つの関門
https://qiita.com/kaizen_nagoya/items/9c46c6da8ceb64d2d7af

64bitCPUへの道 and/or 64歳の決意
https://qiita.com/kaizen_nagoya/items/cfb5ffa24ded23ab3f60

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

## Docker for windows
BIOSでInte Virtualization をenableにしていないと動作しないことを書いていない記事が多い。なぜかは調査中。

今更Docker for Windowsをインストールしたのでその備忘録
https://qiita.com/toro_ponz/items/d66d5571c4646ad33279

Docker for Windowsで起動時に「Docker for Windows - Access denied」と表示される場合の対処法
https://qiita.com/toro_ponz/items/d75706a3039f00ba1205

Windows 10 Hyper-Vユーザに送るDockerの解説
https://qiita.com/banban525/items/48aec05671c3c77d454a

Docker for WindowsでDockerを学ぶ (バージョンCE 17.06.2)
https://qiita.com/rubytomato@github/items/eec2118e89ee9bd8d17a

Docker for Windows をインストールする
https://qiita.com/centipede/items/f8d77b66343ef5096eee

Windows 10(Surface)にDocker for Windowsをインストール
https://qiita.com/chakimar/items/868298096ebf9186d690

Ethernet 記事一覧　Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48) 
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網（Wi-Fi）空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

C++ Support(0)　
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514

Coding Rules(0) C Secure , MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0

Autosar Guidelines C++14 example code compile list(1-169)
https://qiita.com/kaizen_nagoya/items/8ccbf6675c3494d57a76

Error一覧(C/C++, python, bash...) Error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

プログラムちょい替え（0）一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

官公庁・学校・公的団体（NPOを含む）システムの課題、官（０）
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

自動制御、制御工学一覧（０）
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

Rust(0) 一覧　
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927

小川清最終講義、最終講義（再）計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53

＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
# 6. 文書履歴(document history)
ver. 0.10 初稿 20181006
ver. 0.11 みだし、参考文献追記 20181019
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
#### Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.