DeepLearningの実装Tips (WiP)
ノック作るのが大変になってきたのでTips集に変更しました
- 【注意】このページを利用して、または関して生じた事に関しては、私は一切責任を負いません。 すべて 自己責任 でお願い致します。
- なんとなく本とか買わずにDLを勉強したいーーーって人向けだと思う
もしこれがみなさんのお役に立ったらGithub Sponsorになってください!
何問になるか分からないので∞本になってます。多分これからいろんな技術が出るからどんどん更新する予定でっす。これはイモリと一緒にディープラーニングの基礎からDLのライブラリの扱い、どういうDLの論文があったかを実装しながら学んでいくための問題集です。本とか論文読んだだけじゃ机上の空想でしかないので、ネットワークの作成や学習率などのハイパーパラメータの設定を自分の手を動かしながら勉強するための問題集です。
問題集として使ってもテンプレやチートシートとして使っても使い方は自由です!!!!
★追記 2019.11.7
Study-AI株式会社様 http://kentei.ai/ のAI実装検定のシラバスに使用していただくことになりました!(画像処理100本ノックも) Study-AI株式会社様ではAIスキルを学ぶためのコンテンツを作成されており、AIを学ぶ上でとても参考になります! 検定も実施されてるので、興味ある方はぜひ受けることをお勧めします!
画像処理ノックはこっち
Twitterで更新を発信してますぅ
https://twitter.com/curry_frog
- 2020.5.3 Sun [pytorch] CycleGANを追加
- 2020.4.3 Fri [tf.keras] pix2pixを追加
- 2020.3.27 Thu [tf.keras] Style Transferを追加
- 2020.2.25 Tue [Pytorch] WGAN-GPを修正
- 2020.1.1 [Pytorch] EfficientNetB1~B7を追加
- 2019.12.30 [Pytorch] EfficientNetB0を追加
- 2019.12.23 Chainerのサポートが終了したらしいので、PytorchとTensorflowに絞っていきます
- 2019.12.23 [Pytorch] 可視化 Grad-CAMを追加
- 2019.11.23 [Pytorch] 言語処理・会話生成のHREDを追加
- 2019.11.19 [Pytorch] 画像生成のWGAN-GPを追加
- 2019.11.8 [Pytorch] 画像生成のVAEとalphaGANを追加
- 2019.10.28 [Pytorch] 画像生成のWGANを追加
- 2019.10.21 [PyTorch] Semantic SegmentationでSegNetを追加
- 2019.10.16 [PyTorch] Seq2Seq Hard Attentionを追加
- 2019.10.10 [PyTorch] Seq2Seq Attention(Step別)を追加
- 2019.9.30 [Pytorch] MobileNet v2 を追加
- 2019.9.19 [TensorFlow] Xception, MobileNet_v1 を追加
- 2019.9.16 [TensorFlow] ResNet 18, 34, 50, 101, 152 を追加
- 2019.8.19 [Pytorch] NLP: Seq2seq+Attention, word2vecを追加
- 2019.8.15 [Pytorch] pix2pixを追加
- 2019.8.4 [Pytorch] DenseNet121, 169, 201, 264を追加
- 2019.7.30 [PyTorch, Keras] Xceptionを追加
- 2019.7.28 [Keras] ResNeXt-50, 101を追加
- 2019.7.23 [Pytorch] ResNeXt-50, 101を追加
- 2019.7.17 [Pytorch] VAEを追加 [keras, tensorflow, chainer] CGAN(MNIST)を追加
- 2019.7.5 [pytorch, keras]ResNet18, 34, 101, 152を追加
- 2019.6.16 [pytorch, tensorflow, keras, chainer] ResNet50を追加
- 2019.6.9 [tensorflow] DCGANを追加
- 2019.6.7 [Pytorch, tensorflow, keras, chainer]GoogleNet-v1(Inception)を追加
- 2019.5.26 [tensorflow] DCGAN, Conditional GANを追加
- 2019.5.19 [Keras, Chainer] ConditionalGANを追加
- 2019.5.18 [データセット準備] MNIST, [Pytorch]ConditionalGANを追加
- 2019.5.2 [データセット準備] Cifar10、[AutoEncoder, ConvAutoEncoder, GAN, DCGAN]Cifar10を追加
- 2019.3.31 [画像認識モデル] APIを追加
- 2019.3.19 [Pytorch][Chainer] GAN, DCGANを追加
- 2019.3.17 Pooling layerを追加したけど、あとからクラス化と学習を追加する予定
- 2019.3.17 seq2seq, convolutional layer を追加
- 2019.3.16 ニューラルネットをクラス化 を追加
- 2019.3.13 パーセプトロン系を追加
- 2019.3.12 AutoEncoder, ConvAutoEncoder, パーセプトロンを追加
- 2019.3.9 GAN, DCGANを追加
- 2019.3.6 RNN, LSTM, BDLSTMを追加
- 2019.3.5 AutoEncoder, RNNを追加
- 2019.3.4 データ拡張・回転を追加
- 2019.3.3 UNetを追加
https://conda.io/miniconda.html からMinicondaをインストールする。(Window、MacOS)Minicondaインストール後、端末(Windowでは端末、MacOSではターミナル)を開き、以下コマンドで仮想環境を作成する。またはGoogle colabolatoryならGPUが使用化。
# 1. Create
## 仮想環境を作成
$ conda create python=3.7 -n dl_env
# 仮想環境を開始
$ source activate dl_env
(dl_env) :~/work_space/DeepLearningMugenKnock/ :$
下記コマンドでこのレポジトリを自分のパソコンにインストール。
$ git clone https://github.com/yoyoyo-yo/DeepLearningMugenKnock.git
最後に下記コマンドで必要なパッケージをインストールする。
# pytorch
$ pip install matplotlib opencv-python easydict torch torchvision torchsummary
# tensorflow-2.1
$ pip install matplotlib opencv-python easydict tensorflow==2.1
# keras
$ pip install matplotlib opencv-python easydict tensorflow keras
# chainer
$ pip install matplotlib opencv-python easydict chainer
詳細は各ディレクトリのREADME
ここから基本的に、「python scripts_XXX/YYY.py --train --test」で動く。
問題 | Implementation | Published Year |
---|---|---|
Grad-CAM | ✓ pytorch | 2016 |
問題 | Implementation | Published Year |
---|---|---|
SemanticSegmentationとは? | ||
Binalization | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | |
SemanticSegmentation | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | |
UpSampling. NearestNeighbor補間 | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | |
UpSampling. Transposed convolution | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | |
Feature Map Concat | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | |
UNet | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | 2015 |
UNet-like Binarization | ✓ pytorch | 2015 |
UNet-like | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | 2015 |
SegNet Binalization | ✓ pytorch | 2015 |
SegNet | ✓ pytorch | 2015 |
問題 | Implementation | Published Year |
---|---|---|
AutoEncoder MNIST | ✓ pytorch | |
AutoEncoder cifar10 | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | |
AutoEncoder | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | |
AutoEncoderによる異常検知 | ✓ [MNIST] pytorch ✓ [FashionMNIST] pytorch | |
Convolutional AutoEncoder cifar10 | ✓ pytorch ✓ tf.slim✓ keras ✓ chainer | |
Convolutional AutoEncoder | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | |
VAE (Variational AutoEncoder) MNIST | ✓ pytorch | |
VAE + Clustering MNIST | ✓ pytorch |
問題 | Implementation | Published Year |
---|---|---|
GAN cifar10 | ✓ pytorch ✓ tf.slim (WiP) ✓ keras ✓ chainer | |
GAN | ✓ pytorch | |
DCGAN cifar10 | ✓ pytorch ✓ tf.keras ✓ tf.slim ✓ keras ✓ chainer | |
DCGAN | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | |
Conditional GAN MNIST | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | 2014 |
Conditional GAN CIFAR10 | ✓ pytorch ✓tf.slim ✓ keras ✓ chainer | |
pix2pix Seg | ✓ pytorch ✓ tf.keras | 2016 |
pix2pix-GP | ✓ pytorch | - |
WGAN CIFAR10 | ✓ pytorch | 2017 |
WGAN | ✓ pytorch | 2017 |
WGAN-GP CIFAR0 | ✓ pytorch | 2017 |
WGAN-GP | ✓ pytorch | 2017 |
alpha-GAN MNIST | ✓ pytorch | 2017 |
alpha-GAN cifar10 | ✓ pytorch | 2017 |
CycleGAN | ✓ pytorch |
問題 | Implementation | Published Year |
---|---|---|
Style Transfer | ✓ tf.keras |
問題 | Implementation | Published year |
---|---|---|
RNN | ✓ pytorch ✓ tf.slim ✓ keras | |
LSTM | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | |
Bi-directional LSTM | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer (WiP) | |
GRU | ✓ pytorch ✓ tf.slim ✓ keras ✓ chainer | |
Seq2seq | ✓ pytorch ✓ keras | |
Transformer | ✓ pytorch | |
Transformer (Hard Attention) | ✓ pytorch | 2014? |
HRED | ✓ pytorch | 2015 |
Word2Vec (Skip-gram) | ✓ pytorch |
Num | Theory 1 | Answer | Num | Theory 2 | Answer |
---|---|---|---|---|---|
1 | パーセプトロン AND | ✓ | 13 | 画像認識 | ✓ |
2 | パーセプトロン 学習 | ✓ | 14 | 誤差関数 | ✓ |
3 | パーセプトロン 収束性 | ✓ | Sigmoid Cross Entropy | ✓ | |
4 | パーセプトロン Sigmoid | ✓ | Convolutional Layer | ✓ | |
5 | パーセプトロン バイアス | ✓ | Padding | ✓ | |
6 | パーセプトロン OR | ✓ | Stride | ✓ | |
7 | パーセプトロン NOT | ✓ | Max-pooling layer | ✓ | |
8 | パーセプトロン XOR | ✓ | Average-pooling layer | ✓ | |
9 | 多層パーセプトロン FeedForward | ✓ | |||
10 | 多層パーセプトロン 学習 | ✓ | |||
11 | 更に多層パーセプトロン | ✓ | |||
12 | ニューラルネットのクラス化 | ✓ |
番号 | 問題 | 答え | 番号 | 問題 | |
---|---|---|---|---|---|
1 | 自分で用意したデータセットの読み込み | ✓ | |||
2 | ミニバッチの作成 | ✓ | |||
3 | イテレーション・エポック | ✓ | |||
4 | データ拡張・水平反転 | ✓ | |||
5 | データ拡張・上下反転 | ✓ | |||
6 | データ拡張・回転 | ✓ |
問題 | 答え |
---|---|
MNIST | ✓ |
CIFAR-10 | ✓ |
Fashion MNIST | ✓ |
PyTorch | Tensorflow | Keras | Chainer | Caffe | |
---|---|---|---|---|---|
入力 | [mb,c,h,w] | [mb, h, w, c] | [mb, h, w, c] | [mc, c, h, w] | [mb, c, h, w] |
教師ラベル | index [mb] | onehot [mb, cls] | onehot [mb, cls] | index [mb] | index [mb] |
速度 | まあまあ早い | 早い | 早い | 普通 | まあまあ早い? |
how to | ✓ | ✓ | ✓ | ✓ | ✓install(Docker) ✓install(Native) |
sample | ✓ | ✓(slim) ✓(layers) ✓(raw) |
✓ | ✓ |
@article{yoyoyo-yoDeepLearningMugenKnock,
Author = {yoyoyo-yo},
Title = {DeepLearningMugenKnock},
Journal = {https://github.com/yoyoyo-yo/DeepLearningMugenKnock},
Year = {2019}
}
© Curry yoshi All Rights Reserved.
This is under MIT License.