Skip to content

でぃーぷらーにんぐを無限にやってディープラーニングでディープラニングするためのもの

License

Notifications You must be signed in to change notification settings

arkn/DeepLearningMugenKnock

 
 

Repository files navigation

ディープラーニング∞本ノック!!

ディープラーニング∞本(?)ノックぅぅ

まだ作成中なのであしからず

何問になるか分からないので∞本になってます。多分これからいろんな技術が出るからどんどん更新する予定でっす。 これはイモリと一緒にディープラーニングの基礎からDLのライブラリの扱い、どういうDLの論文があったかを実装しながら学んでいくための問題集です。本とか論文読んだだけじゃ机上の空想でしかないので、ネットワークの作成や学習率などのハイパーパラメータの設定を自分の手を動かしながら勉強するための問題集です。

問題集として使ってもテンプレやチートシートとして使っても使い方は自由です!!!!

僕が研究室で3年修行してディープラーニングで必要そうだなーと思ったものを集めてます。

例えば研究してて提案手法を急にKerasでやればとか簡単に言うけどそんなすぐにできるかいってよくあると思うんだけどそういうのにもすぐ対応できる力を身につけるためのものだとも思ってます。

  • 内容はいろいろな文献を調べて載っけてるので正しくないものもあるかもしれないので注意して下さい。もし間違ってたらプルリク下さい笑
  • 【注意】このページを利用して、または関して生じた事に関しては、私は一切責任を負いません。 すべて 自己責任 でお願い致します。
  • コードの書き方は私の趣向がけっこう出てるので、この書き方キモってなったら自分の書き方でやっていってください。答えはあくまで参考です。FWによってチョクチョク実装に小さな違いがあるのでそこはご愛嬌
  • なんとなく本とか買わずにDLを勉強したいーーーって人向けだと思う

Related

画像処理ノックはこっち

画像処理100本ノック!!

Recent

  • 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を追加

環境設定

Python-3.6でやって下さい。(解答はPython-3.6で用意してます)

1. Minicondaのインストール

https://conda.io/miniconda.html のサイトからMinicondaをインストールします。これはWindowでもMacOSでも可能です。Minicondaがインストールできたら、端末(Windowでは端末、MacOSではターミナル)を開き、以下コマンドで仮想環境を作成します。もしくはGoogle colabolatoryを使って見て下さい。GPUが使えます。

$ conda create python=3.6 -n dlmugenknock

作成できたら、以下コマンドで仮想環境を動作します。

$ source activate dlmugenknock

するとこうなります。

(dlmugenknock) :~/work_space/DeepLearningMugenKnock/ :$ 

2. gitのインストール

gitをインストールします。そして、端末を開いて、以下のコマンドを実行します。このコマンドでこのディレクトリを丸ごと自分のパソコンにコピーできます。

$ git clone https://github.com/yoyoyo-yo/DeepLearningMugenKnock.git

3. パッケージのインストール

以下のコマンドで必要なパッケージをインストールします。これで準備は完了です!!

$ pip install -r requirements.txt

フレームワーク早見表

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)

問題

詳細な問題内容は各ディレクトリのREADMEにあります。(ディレクトリで下にスクロールすればあります)

自分で全部実装編

番号 問題 番号 問題
1 パーセプトロン AND
2 パーセプトロン 学習
3 パーセプトロン 収束性
4 パーセプトロン Sigmoid
5 パーセプトロン バイアス
6 パーセプトロン OR
7 パーセプトロン NOT
8 パーセプトロン XOR
9 多層パーセプトロン FeedForward
10 多層パーセプトロン 学習
11 更に多層パーセプトロン
12 ニューラルネットのクラス化
番号 問題 番号 問題
13 画像認識
14 誤差関数
Sigmoid Cross Entropy
Convolutional Layer
Padding
Stride
Max-pooling layer
Average-pooling layer
番号 問題 番号 問題
1 データセットの読み込み
2 ミニバッチの作成
3 イテレーション・エポック
4 データ拡張・水平反転
5 データ拡張・上下反転
6 データ拡張・回転
CIFAR-10 Step.1 ダウンロード
CIFAR-10 Step.2 学習データの読み込み
CIFAR-10 Step.Final テストデータの読み込み

ライブラリ使い方編

問題 PyTorch TensorFlow Keras Chainer
API
LeNet
AlexNet
ZFNet
Global Average Pooling
Network in network
VGG16
VGG19
モデルの書き方の簡潔化
GoogLeNet
Batch Normalization
問題 PyTorch TensorFlow Keras Chainer
SemanticSegmentationとは?
Binalization Step.1. データセット読み込み
Binalization Step.2. 学習時のLoss計算
Binalization Step.3. テスト時の予測結果の表示
SemanticSegmentation Step.1. データセット読み込み
SemanticSegmentation Step.2. 学習時のLoss計算
SemanticSegmentation Step.3. テスト時の予測結果の表示
UpSampling手法1. NearestNeighbor補間
UpSampling手法2. Transposed convolution
特徴マップのconcat
UNet
UNet風モデル
問題 PyTorch TensorFlow Keras Chainer
AutoEncoder ✓?
AutoEncoder cifar10
ConvolutionalAutoEncoder ✓?
ConvolutionalAutoEncoder cifar10
GAN
GAN cifar10
DCGAN
DCGAN cifar10
問題 PyTorch TensorFlow Keras Chainer
1 hotベクトル化
RNN (Many-to-one) Step.1. 学習
RNN (Many-to-one) Step.2. テスト
LSTM (Many-to-one)
Bi-directional LSTM (Many-to-one) ✓?
GRU (Many-to-one)
Seq2seq (Many-to-many)

Citation

@article{yoyoyo-yoDeepLearningMugenKnock,
    Author = {yoyoyo-yo},
    Title = {DeepLearningMugenKnock},
    Journal = {https://github.com/yoyoyo-yo/DeepLearningMugenKnock},
    Year = {2019}
}

License

© Yoshito Nagaoka All Rights Reserved.

This is under MIT License.

https://github.com/yoyoyo-yo/DeepLearningMugenKnock/blob/master/LICENSE

About

でぃーぷらーにんぐを無限にやってディープラーニングでディープラニングするためのもの

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%