Winodws での Anaconda と PyCharm

Windows で Anaconda を使った Tensorflow
https://blog.acheul.net/?p=1124

でもまとめていたが、2019年5月24日に再セットアップしたので手順を更新。

インストール

Anaconda 公式サイトから Windows 版の 64bit インストーラをダウンロード。Anaconda 2019.03 という名前だった。Python 3.7 Version。大量のパッケージがインストールされるので時間とディスク容量が必要。

PyCharm 2019.1.2 をダウンロード。Community Edition with Anaconda plugin Setup というアナコンダと連携しやすくなったバージョンが存在している。Anaconda Support というプラグインが自動でインストールされている。

Tensorflow1.5.0 インストール

「Tensorflow 開発入門 Keras による深層学習モデル構築手法」では Anaconda3 5.0.1 / Python 3.5.4 or 3.5.5 / Tensorflow 1.5.0 が使われている。
https://repo.continuum.io/archive/

最新の Anaconda だと conda install tensorflow==1.5.0 ができない。その場合 pip install tensorflow==1.5.0 なら通った。

セットアップ

Anacodna Navigator を起動。Environments タブから Create を選択し、Name:tf36, Python 3.6 で作成。再生ボタンで Open Terminal を選択し、下記のコマンドを打ち込み必要パッケージをインストール。

conda install tensorflow
conda install keras
conda install matplotlib

Anaconda の仮想環境は、デフォルトだと
C:¥Users¥username¥AppData¥Local¥Continuum¥Anaconda3¥envs¥ に作られる。フォルダサイズが大きいので注意

# Tensorflow GPU 版とバージョン指定
conda install tensorflow-gpu
conda install tensorflow-gpu==1.5.0

Jupyter Notebook

Anaconda Navigator の Home に戻り Jupyter Notebook を Install。ホームの左上に Application on “VM Name” のプルダウンがあるので、そこで作った環境を選択して Launch で起動。

Jupyter Notebook を起動して、新しいノートブックを作り、Tensorflow のチュートリアルから MNIST のコードを貼り付けて実行できたら成功。

Jupyter Notebook はデフォルトだと
C:¥Users¥username¥ 以下に ipynb ファイルが作られる。

PyCharm

Create New Project から Existing interpreter を選択。Conda Environment タブの Interpreter に、先ほど Anaconda Navigator で作った tf36 が選べるので選択。そのまま新規プロジェクトと Python ファイルを作って、MINIST が実行できたら成功。

PyCharm はデフォルトだと、
C:¥Users¥username¥PycharmProjects¥ にプロジェクトが作られる。

ニューラルネットワークと深層学習(日本語訳)

CHAPTER1 ニューラルネットワークを用いた手書き文字認識
https://nnadl-ja.github.io/nnadl_site_ja/chap1.html

CHAPTER2 逆伝播の仕組み
https://nnadl-ja.github.io/nnadl_site_ja/chap2.html

CHAPTER3 ニューラルネットワークの学習の改善
https://nnadl-ja.github.io/nnadl_site_ja/chap3.html

CHAPTER4 ニューラルネットワークが任意の関数を表現できることの視覚的証明
https://nnadl-ja.github.io/nnadl_site_ja/chap4.html

CHAPTER5 ニューラルネットワークを訓練するのはなぜ難しいのか
https://nnadl-ja.github.io/nnadl_site_ja/chap5.html

CHAPTER6 ディープラーニング
https://nnadl-ja.github.io/nnadl_site_ja/chap6.html

macOS での Anaconda コマンド

conda でインストールするのと、conda の上の pip でインストールするのとどちらが良いのでしょうか。

# 新しい環境の構築
# python3.6 で tfcpu という環境を構築
conda create -n tfcpu python=3.6

# 作った環境の削除
conda remove -n tfcpu –all
※–all のところに注意。ハイフンハイフン。WordPressが自動変換してる。

# 作った環境一覧表示
conda info -e

# 作った環境に切り替え
# Windows は active tfcpu のみでよい
source activate tfcpu

# tensorflow のインストール
conda install tensorflow

# keras のインストール
conda install keras

# jupyter notebook のインストール
conda install notebook

# Matplotlib のインストール
conda install matplotlib

# scikit-learn のインストール
conda install scikit-learn

# Jupyter notebook の起動
jupyter notebook

Windows で Anaconda を使った Tensorflow

新しい Tensorflow の実行環境の構築


Anaconda Navigator を起動して、Environment タブから Create をして、新しい環境の設定を行う。Name は tf-cpu / Python は 3.7 で設定。なお Tensorflow GPU 版をインストールするためには、Python 3.6 でないとインストール出来なかった。

再生ボタンを押して Open Terminal を起動させ、コマンドに下記を打ち込むとインストールできる。CPU 版と GPU 版で違うので注意。

conda install tensorflow
conda intall tensorflow-gpu

Keras
conda install keras

Matplotlib
conda install matplotlib

scikit-learn
conda install scikit-learn

Jupyter Notebook の起動

Anaconda Navigator の Home から Application on 環境名 を選択した状態で、Jupyter Notebook を Install ボタンを押す。インストールが完了すれば起動できる。

機械学習 記事ブックマーク

Kerasで学ぶAutoencoder
https://elix-tech.github.io/ja/2016/07/17/autoencoder.html

Deep learning for image denoising and superresolution
https://www.slideshare.net/yuhuang/deep-learning-for-image-denoising-superresolution-27435126

AI活用戦略 経団連
http://www.keidanren.or.jp/policy/2019/013.html

オートエンコーダーとしてのU-Net(自己符号化から白黒画像のカラー化まで)
https://qiita.com/koshian2/items/603106c228ac6b7d8356

Building Autoencoders in Keras
https://blog.keras.io/building-autoencoders-in-keras.html

深層畳み込みニューラルネットワークを用いた画像スケーリング
https://postd.cc/image-scaling-using-deep-convolutional-neural-networks-part1/

【研究開発_第3回】画像の高解像度化技術 ~新型画像処理技術の説明~
https://www.casleyconsulting.co.jp/blog/engineer/163/

「大企業は時間を奪っている意識がない」 AIベンチャーが本音で激論、“丸投げ依頼”の次なる課題
https://www.itmedia.co.jp/news/articles/1902/28/news032.html

オートエンコーダ:抽象的な特徴を自己学習するディープラーニングの人気者
https://deepage.net/deep_learning/2016/10/09/deeplearning_autoencoder.html

レイトレーシングのデノイズにAIを使う(論文紹介記事)
https://qiita.com/omochi64/items/22d0162b5044331fa226

敵対的生成ネットワーク(GAN)
https://www.slideshare.net/cvpaperchallenge/gan-133159239

Image Super Resolution using Autoencoders
https://courses.nvidia.com/courses/course-v1:DLI+L-GD-04+V1/about

Variational Autoencoders
https://www.youtube.com/watch?v=9zKuYvjFFS8

勾配降下法の最適化アルゴリズムを概観する
https://postd.cc/optimizing-gradient-descent/

Autoencoderの実装と愉快な仲間との比較
https://www.slideshare.net/YumaMatsuoka/auto-encoder

Optimizer入門&最新動向
https://www.slideshare.net/MotokawaTetsuya/optimizer-93979393

CNNの学習に最高の性能を示す最適化手法はどれか
https://www.iandprogram.net/entry/2016/02/11/181322

機械学習の勉強リソース

機械学習 Coursera
https://ja.coursera.org/learn/machine-learning
日本語字幕もあり、最もおすすめ

arXivTimes
https://github.com/arXivTimes/arXivTimes

AISIA AI技術をぱっと理解する(基礎編)連載Blog
https://products.sint.co.jp/aisia/blog
非常に分かりやすくて、勉強になりました。

Variational Autoencoder 徹底解説
https://qiita.com/kenmatsu4/items/b029d697e9995d93aa24

Progressive Growing of GANs for Improved Quality, Stability, and Variation
https://arxiv.org/abs/1710.10196

Arxiv Sanity Preserver
http://www.arxiv-sanity.com/

AIによるアニメ中割生成 – DeNAの「構造的生成学習」を使用したアニメの中割生成技術!
https://3dnchu.com/archives/dena-anime-ai-frame-generated-tech/

Pythonでの数値計算ライブラリNumPy徹底入門
https://deepage.net/features/numpy/

械学習 入門コースの決定版!機械学習エンジニアを目指すならcodexa
https://www.codexa.net/

Introduction to Deep Learning
http://introtodeeplearning.com/

機械学習プロジェクトが失敗する9つの理由
https://tjo.hatenablog.com/entry/2018/08/03/080000

C++ヘッダだけでDeep Learning、tiny-dnnの紹介
https://qiita.com/nyanp/items/11c6bb6fb539486c5069

強化学習の基礎的な考え方と問題の分類
https://www.slideshare.net/yukono1/ss-129668388

horovodのご紹介 ~Tensorflowの分散処理(Distributed Tensorflow)を簡単に実現!!
https://qiita.com/kurosawa1/items/5aeb9efb2eceeb9c8206

Optimizer : 深層学習における勾配法について
https://qiita.com/tokkuman/items/1944c00415d129ca0ee9
深層学習の勾配法 (SGD, Momentum SGD, AdaGrad, RMSprop, AdaDelta, Adam) とは

Optimizer : 最適化手法の検証
https://qiita.com/tokkuman/items/33c66fcff7337a1c0fa8

Residual Network(ResNet)の理解とチューニングのベストプラクティス
https://deepage.net/deep_learning/2016/11/30/resnet.html

U-NetでPascal VOC 2012の画像をSemantic Segmentationする
https://qiita.com/tktktks10/items/0f551aea27d2f62ef708

tensorflowで誤差関数を実装
https://qiita.com/YudaiSadakuni/items/918b08e9c1fb497c96c3

ディープラーニングによる画像の拡大技術
https://www.nttpc.co.jp/gpu/article/technical02.html

【TensorFlow入門】C++から使ってみよう
https://www.sejuku.net/blog/54964

深層学習を使用した単一イメージ超解像処理
https://jp.mathworks.com/help/images/single-image-super-resolution-using-deep-learning.html

Fast and Accurate Image Super Resolution by Deep CNN with Skip Connection and Network in Network
https://arxiv.org/abs/1707.05425

Deep Convolution Networks for Compression Artifacts Reduction
https://arxiv.org/abs/1608.02778

macOS で TensorFlow を Docker から起動

TensorFlow

docker は image からコンテナが作られる。docker run と打てばコンテナが作られる。docker run コマンドはイメージからコンテナを作成するコマンド。つまり、毎回 docker run コマンドを入力すると、毎回新しくコンテナが作成される。

# ダウンロード
docker pull tensorflow/tensorflow:latest-py3-jupyter

# 起動
docker run -it -p 8888:8888 tensorflow/tensorflow:latest-py3-jupyter

# Keras のインストール
pip install keras

# pip install
# jupyter notebook で Terminal に入力
pip install scikit-learn

# openCV
# jupyter notebook で Terminal に入力
apt-get install libglib2.0-0

Docker

# docker のリストを表示
docker images

# 起動中のコンテナ表示
docker ps

# 停止のコンテナも表示
docker ps -a

# docker container の開始
docker start ID

# docker container の停止
docker stop ID

# docker container の削除
docker rm ID

# docker image の削除
docker rmi f2db14a79ac4

# docker コンテナの中に入る
docker exec -it name bash
コンテナの中に入る(bashプロセスを立ち上げ、操作できる)
docker exec は対象のコマンドを操作するみたい

参考

Dockerコマンドメモ
https://qiita.com/curseoff/items/a9e64ad01d673abb6866