More than 1 year has passed since last update.
dockerで機械学習(27) with anaconda(27)「Practical Convolutional Neural Networks」By Md. Karim, Mohit Sewak, Pradeep Pujari
1.すぐに利用したい方へ(as soon as)
「Practical Convolutional Neural Networks」By Md. Karim, Mohit Sewak, Pradeep Pujari
👁 cat27.gif
http://shop.oreilly.com/product/9781788392303.do
docker
dockerを導入し、Windows, Macではdockerを起動しておいてください。
Windowsでは、BiosでIntel Virtualizationをenableにしないとdockerが起動しない場合があります。
また、セキュリティの警告などが出ることがあります。
docker pull and run
$ docker pull kaizenjapan/anaconda-pcnn
$ docker run -it -p 8888:8888 kaizenjapan/anaconda-pcnn /bin/bash
以下のshell sessionでは
(base) root@f19e2f06eabb:/#は入力促進記号(comman prompt)です。実際には数字の部分が違うかもしれません。この行の#の右側を入力してください。
それ以外の行は出力です。出力にエラー、違いがあれば、コメント欄などでご連絡くださると幸いです。
それぞれの章のフォルダに移動します。
dockerの中と、dockerを起動したOSのシェルとが表示が似ている場合には、どちらで捜査しているか間違えることがあります。dockerの入力促進記号(comman prompt)に気をつけてください。
ファイル共有または複写
dockerとdockerを起動したOSでは、ファイル共有をするか、ファイル複写するかして、生成したファイルをブラウザ等表示させてください。参考文献欄にやり方のURLを記載しています。
複写の場合は、dockerを起動したOS側コマンドを実行しました。お使いのdockerの番号で置き換えてください。複写したファイルをブラウザで表示し内容確認しました。
(base) root@19b116a46da8:/# ls
bin deep-learning-with-keras-ja dev home lib64 mnt proc run srv tmp var
boot deep-learning-with-python-notebooks etc lib media opt root sbin sys usr
(base) root@19b116a46da8:/# cd deep-learning-with-python-notebooks/
(base) root@19b116a46da8:/deep-learning-with-python-notebooks# ls
2.1-a-first-look-at-a-neural-network.ipynb 5.3-using-a-pretrained-convnet.ipynb 8.1-text-generation-with-lstm.ipynb
3.5-classifying-movie-reviews.ipynb 5.4-visualizing-what-convnets-learn.ipynb 8.2-deep-dream.ipynb
3.6-classifying-newswires.ipynb 6.1-one-hot-encoding-of-words-or-characters.ipynb 8.3-neural-style-transfer.ipynb
3.7-predicting-house-prices.ipynb 6.1-using-word-embeddings.ipynb 8.4-generating-images-with-vaes.ipynb
4.4-overfitting-and-underfitting.ipynb 6.2-understanding-recurrent-neural-networks.ipynb 8.5-introduction-to-gans.ipynb
5.1-introduction-to-convnets.ipynb 6.3-advanced-usage-of-recurrent-neural-networks.ipynb LICENSE
5.2-using-convnets-with-small-datasets.ipynb 6.4-sequence-processing-with-convnets.ipynb README.md
Keras_basics_1.py, Keras_basics_2.py, Keras_basics_3.py
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter01/code files# python Keras_basics_1.py
Using TensorFlow backend.
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter01/code files# python Keras_basics_2.py
Using TensorFlow backend.
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter01/code files# python Keras_basics_3.py
File "Keras_basics_3.py", line 21
%matplotlib inline
^
SyntaxError: invalid syntax
Purpose of “%matplotlib inline”
https://stackoverflow.com/questions/43027980/purpose-of-matplotlib-inline/43028034
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter01/code files# python tf_basics_1.py
2018-10-21 14:26:02.761431: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2018-10-21 14:26:02.764167: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
b'Hello World!'
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter01/code files# python tf_basics_2.py
2018-10-21 14:26:11.880734: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2018-10-21 14:26:11.882135: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
[123 456 789]
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter01/code files# python tf_basics_3.py
<tf.Variable 'variable_y:0' shape=() dtype=int32_ref>
2018-10-21 14:26:19.940613: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2018-10-21 14:26:19.942210: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
10
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter01/code files# python tf_basics_4.py
2018-10-21 14:26:25.246018: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2018-10-21 14:26:25.249166: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
Welcome to CNN
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter01/code files# python tf_basics_5.py
2018-10-21 14:26:30.893273: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2018-10-21 14:26:30.894690: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
[[ 2. 4. 6.]
[ 8. 10. 12.]]
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter01/code files# python tf_basics_6.py
WARNING:tensorflow:From tf_basics_6.py:11: softmax_cross_entropy_with_logits (from tensorflow.python.ops.nn_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Future major versions of TensorFlow will allow gradients to flow
into the labels input on backprop by default.
See `tf.nn.softmax_cross_entropy_with_logits_v2`.
2018-10-21 14:26:36.061273: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2018-10-21 14:26:36.062963: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
0.6931472
0.6931472
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter01/code files# python tf_basics_7.py
2018-10-21 14:26:42.771448: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2018-10-21 14:26:42.773185: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
[0.6590012 0.24243298 0.09856589]
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter01/code files# python tf_basics_8.py
WARNING:tensorflow:From tf_basics_8.py:11: softmax_cross_entropy_with_logits (from tensorflow.python.ops.nn_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Future major versions of TensorFlow will allow gradients to flow
into the labels input on backprop by default.
See `tf.nn.softmax_cross_entropy_with_logits_v2`.
2018-10-21 14:26:53.744097: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2018-10-21 14:26:53.746294: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
0.6931472
0.6931472
Chapter02
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter02# python CNN_1.py
Traceback (most recent call last):
File "CNN_1.py", line 5, in <module>
get_ipython().run_line_magic('matplotlib', 'inline')
AttributeError: 'NoneType' object has no attribute 'run_line_magic'
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter02# python CNN_2.py
File "CNN_2.py", line 4
%matplotlib inline
^
SyntaxError: invalid syntax
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter02# python CNN_3.py
File "CNN_3.py", line 18
total width)
^
SyntaxError: invalid syntax
Chapter03
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter03/Dog_cat_classification# python LayersConstructor.py
Traceback (most recent call last):
File "LayersConstructor.py", line 9, in <module>
import Preprocessor
File "/Practical-Convolutional-Neural-Networks/Chapter03/Dog_cat_classification/Preprocessor.py", line 4, in <module>
import cv2
ModuleNotFoundError: No module named 'cv2'
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter03/Dog_cat_classification# ls *.py
CNN_DogvsCat_Classifier.py LayersConstructor.py Preprocessor.py
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter03/Dog_cat_classification# python Preprocessor.py
Traceback (most recent call last):
File "Preprocessor.py", line 4, in <module>
import cv2
ModuleNotFoundError: No module named 'cv2'
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter03# cd ../Padding_ops/
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter03/Padding_ops# ls
paddin_ops.py
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter03/Padding_ops# python paddin_ops.py
(1, 1, 1, 1)
(1, 1, 2, 1)
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter03/Padding_ops# cd ../Traffic/
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter03/Traffic# ls
custom.py
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter03/Traffic# python custom.py
Traceback (most recent call last):
File "custom.py", line 53, in <module>
images, labels = load_data(train_data_dir)
File "custom.py", line 32, in load_data
directories = [d for d in os.listdir(data_dir)
FileNotFoundError: [Errno 2] No such file or directory: '/home/asif/traffic/Training'
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter03/Traffic# ls /home
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter03/Traffic# cd /home
(base) root@b350954ba6b4:/home# ls
(base) root@b350954ba6b4:/home# mkdir asif
(base) root@b350954ba6b4:/home# cd asif
(base) root@b350954ba6b4:/home/asif# mkdir traffic
(base) root@b350954ba6b4:/home/asif# cd traffic
(base) root@b350954ba6b4:/home/asif/traffic# mkdir Training
(base) root@b350954ba6b4:/home/asif/traffic# cd /Practical-Convolutional-Neural-Networks/Chapter03/Traffic
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter03/Traffic# ls
custom.py
(base) root@b350954ba6b4:/Practical-Convolutional-Neural-Networks/Chapter03/Traffic# python custom.py
Unique classes: 0
Total Images: 0
Traceback (most recent call last):
File "custom.py", line 90, in <module>
display_label_images(images, 20)
File "custom.py", line 80, in display_label_images
start = labels.index(label)
ValueError: 20 is not in list
jupyternotebook
(base) root@19b116a46da8:/# jupyter notebook --ip=0.0.0.0 --allow-root
[I 04:47:52.531 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[I 04:47:52.776 NotebookApp] JupyterLab beta preview extension loaded from /opt/conda/lib/python3.6/site-packages/jupyterlab
[I 04:47:52.776 NotebookApp] JupyterLab application directory is /opt/conda/share/jupyter/lab
[I 04:47:52.785 NotebookApp] Serving notebooks from local directory: /deep-learning-with-python-notebooks
[I 04:47:52.786 NotebookApp] 0 active kernels
[I 04:47:52.786 NotebookApp] The Jupyter Notebook is running at:
[I 04:47:52.786 NotebookApp] http://19b116a46da8:8888/?token=5ca23859604dcac80e266f93ec2194c802e98f432729aa5d
[I 04:47:52.786 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 04:47:52.787 NotebookApp] No web browser found: could not locate runnable browser.
[C 04:47:52.787 NotebookApp]
Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
http://19b116a46da8:8888/?token=5ca23859604dcac80e266f93ec2194c802e98f432729aa5d&token=5ca23859604dcac80e266f93ec2194c802e98f432729aa5d
[I 04:48:11.426 NotebookApp] 302 GET / (172.17.0.1) 0.64ms
[W 04:48:11.433 NotebookApp] Clearing invalid/expired login cookie username-localhost-8888
[W 04:48:11.434 NotebookApp] Clearing invalid/expired login cookie username-localhost-8888
[I 04:48:11.435 NotebookApp] 302 GET /tree? (172.17.0.1) 2.66ms
[I 04:48:16.289 NotebookApp] 302 POST /login?next=%2Ftree%3F (172.17.0.1) 1.77ms
[I 04:48:21.752 NotebookApp] Writing notebook-signing key to /root/.local/share/jupyter/notebook_secret
[W 04:48:21.757 NotebookApp] Notebook 2.1-a-first-look-at-a-neural-network.ipynb is not trusted
[I 04:48:22.837 NotebookApp] Kernel started: fe0e9fe5-2acc-488a-b574-315edf559da0
[I 04:48:23.453 NotebookApp] Adapting to protocol v5.1 for kernel fe0e9fe5-2acc-488a-b574-315edf559da0
[I 04:50:22.814 NotebookApp] Saving file at /2.1-a-first-look-at-a-neural-network.ipynb
[W 04:50:22.818 NotebookApp] Notebook 2.1-a-first-look-at-a-neural-network.ipynb is not trusted
[W 04:50:27.598 NotebookApp] Notebook 2.1-a-first-look-at-a-neural-network.ipynb is not trusted
[I 04:50:28.635 NotebookApp] Adapting to protocol v5.1 for kernel fe0e9fe5-2acc-488a-b574-315edf559da0
ブラウザで
localhost:8888
を開く
上記の場合は、token に
5ca23859604dcac80e266f93ec2194c802e98f432729aa5d
を入れる。
資料がない章
1
2. dockerを自力で構築する方へ
ここから下は、上記のpullしていただいたdockerをどういう方針で、どういう手順で作ったかを記録します。
上記のdockerを利用する上での参考資料です。本の続きを実行する上では必要ありません。
自力でdocker/anacondaを構築する場合の手順になります。
dockerfileを作る方法ではありません。ごめんなさい。
docker
ubuntu, debianなどのLinuxを、linux, windows, mac osから共通に利用できる仕組み。
利用するOSの設定を変更せずに利用できるのがよい。
同じ仕様で、大量の人が利用することができる。
ソフトウェアの開発元が公式に対応しているものと、利用者が便利に仕立てたものの両方が利用可能である。今回は、公式に配布しているものを、自分で仕立てて、他の人にも利用できるようにする。
python
DeepLearningの実習をPhthonで行って来た。
pythonを使う理由は、多くの機械学習の仕組みがpythonで利用できることと、Rなどの統計解析の仕組みもpythonから容易に利用できることがある。
anaconda
pythonには、2と3という版の違いと、配布方法の違いなどがある。
Anacondaでpython3をこの1年半利用してきた。
Anacondaを利用した理由は、統計解析のライブラリと、JupyterNotebookが初めから入っているからである。
docker公式配布
ubuntu, debianなどのOSの公式配布,gcc, anacondaなどの言語の公式配布などがある。
これらを利用し、docker-hubに登録することにより、公式配布の質の確認と、変更権を含む幅広い情報の共有ができる。dockerが公式配布するものではなく、それぞれのソフト提供者の公式配布という意味。
docker pull
docker公式配布の利用は、URLからpullすることで実現する。
docker Anaconda
anacondaが公式配布しているものを利用。
$ docker pull kaizenjapan/anaconda-keras
Using default tag: latest
latest: Pulling from continuumio/anaconda3
Digest: sha256:e07b9ca98ac1eeb1179dbf0e0bbcebd87701f8654878d6d8ce164d71746964d1
Status: Image is up to date for continuumio/anaconda3:latest
$ docker run -it -p 8888:8888 continuumio/anaconda3 /bin/bash
実際にはkeras, tensorflow を利用していた他のpushをpull
apt
(base) root@d8857ae56e69:/#apt update
(base) root@d8857ae56e69:/#apt install -y procps
(base) root@d8857ae56e69:/#apt install -y vim
(base) root@d8857ae56e69:/#apt install -y apt-utils
(base) root@d8857ae56e69:/#apt install sudo
ソース git
(base) root@f19e2f06eabb:/# git clone https://github.com/PacktPublishing/Practical-Convolutional-Neural-Networks
conda
# conda update --prefix /opt/conda anaconda
Solving environment: done
pip
(base) root@f19e2f06eabb:/deep-learning-from-scratch-2/ch01# pip install --upgrade pip
Collecting pip
Downloading https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl (1.3MB)
100% |████████████████████████████████| 1.3MB 2.0MB/s
distributed 1.21.8 requires msgpack, which is not installed.
Installing collected packages: pip
Found existing installation: pip 10.0.1
Uninstalling pip-10.0.1:
Successfully uninstalled pip-10.0.1
Successfully installed pip-18.0
(
#docker hubへの登録
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
caef766a99ff continuumio/anaconda3 "/usr/bin/tini -- /b…" 10 hours ago Up 10 hours 0.0.0.0:8888->8888/tcp sleepy_bassi
$ docker commit caef766a99ff kaizenjapan/anaconda-pcnn
$ docker push kaizenjapan/anaconda-pcnn
参考資料(reference)
なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
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
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
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を含む)システムの課題、官(0)
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3
プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945
LaTeX(0) 一覧
https://qiita.com/kaizen_nagoya/items/e3f7dafacab58c499792
自動制御、制御工学一覧(0)
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
文書履歴(document history)
ver. 0.10 初稿 20181021
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
