FC2カウンター FPGAの部屋 Accelerating SqueezeNet on FPGAの構造について2
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Accelerating SqueezeNet on FPGAの構造について2

Accelerating SqueezeNet on FPGAの構造について”の続き。

前回は、Accelerating SqueezeNet on FPGAの構造でネットワークを構成する構造体を見ていった。今回は、そのlayer_t 構造体にどんな値が入力されているかを見ていこう。

network.cppのvoid set_layers(network_t* network)で設定される層構成

第1層目(ReLU+Max Pooling付CONV層)
1. 入力高さ - 224
2. 入力幅 - 224
3. 入力チャネル数 - 3
4. 出力チャネル数 - 64
5. カーネル数 - 3
6. ストライド数 - 2
7. パディング数 - 0
8. ReLU実装 - true
9. conv実装 - true
10. fire実装 - false
11. fire_t fire_params_one - 0、コンストラクタ
12. max_pool実装 - true
13. pooling_t pool_params_one
 1. カーネル数 - 3
 2. ストライド数 - 2
14. global_pool実装 - false
15. weight_offset – 0
16. num_weights – 1792
17. img_offset – 1235496 (すべてのWeightの数)
18. output_offset – 1386024 (画像の総ピクセル数 150528を足した数)
19. scratch_offset – 1586728

第2層目
1. 入力高さ - 56
2. 入力幅 - 56
3. 入力チャネル数 - 64
4. 出力チャネル数 - 128
5. カーネル数 - -1
6. ストライド数 - -1
7. パディング数 - 0
8. ReLU実装 - true
9. conv実装 - false
10. fire実装 - true
11. fire_t fire_params_two
 1. squeeze層カーネル数 - 1
 2. squeeze層ストライド数 - 1
 3. squeeze層出力チャネル数 - 16
 4. expand層e1カーネル数 - 1
 5. expand層e1ストライド数 - 1
 6. expand層e1出力チャネル数 - 64
 7. expand層e2カーネル数 - 3
 8. expand層e2ストライド数 - 3
 9. expand層e2出力チャネル数 - 64
12. max_pool実装 - false
13. pooling_t pool_params_two - 0, コンストラクタ
14. global_pool実装 - false
15. weight_offset – 1792
16. num_weights – 11408
17. img_offset – 1386024 (前の層の出力)
18. output_offset – 1586728 (前の層のscratch_offset の値)
19. scratch_offset – 1988136

第3層目
1. 入力高さ - 56
2. 入力幅 - 56
3. 入力チャネル数 - 128
4. 出力チャネル数 - 128
5. カーネル数 - -1
6. ストライド数 - -1
7. パディング数 - 0
8. ReLU実装 - true
9. conv実装 - false
10. fire実装 - true
11. fire_t fire_params_three
 1. squeeze層カーネル数 - 1
 2. squeeze層ストライド数 - 1
 3. squeeze層出力チャネル数 - 16
 4. expand層e1カーネル数 - 1
 5. expand層e1ストライド数 - 1
 6. expand層e1出力チャネル数 - 64
 7. expand層e2カーネル数 - 3
 8. expand層e2ストライド数 - 3
 9. expand層e2出力チャネル数 - 64
12. max_pool実装 - true
13. pooling_t pool_params_three
 1. カーネル数 - 3
 2. ストライド数 - 2
14. global_pool実装 - false
15. weight_offset – 13200
16. num_weights – 12432
17. img_offset – 1586728 (前の層の出力)
18. output_offset – 1988136 (前の層のscratch_offset の値)
19. scratch_offset – 2088488

第4層目
1. 入力高さ - 28
2. 入力幅 - 28
3. 入力チャネル数 - 128
4. 出力チャネル数 - 256
5. カーネル数 - -1
6. ストライド数 - -1
7. パディング数 - 0
8. ReLU実装 - true
9. conv実装 - false
10. fire実装 - true
11. fire_t fire_params_four
 1. squeeze層カーネル数 - 1
 2. squeeze層ストライド数 - 1
 3. squeeze層出力チャネル数 - 16
 4. expand層e1カーネル数 - 1
 5. expand層e1ストライド数 - 1
 6. expand層e1出力チャネル数 - 64
 7. expand層e2カーネル数 - 3
 8. expand層e2ストライド数 - 3
 9. expand層e2出力チャネル数 - 64
12. max_pool実装 - false
13. pooling_t pool_params_four - 0, コンストラクタ
14. global_pool実装 - false
15. weight_offset – 25632
16. num_weights – 45344
17. img_offset – 1988136 (前の層の出力)
18. output_offset – 2088488 (前の層のscratch_offset の値)
19. scratch_offset – 2289192

第5層目
1. 入力高さ - 28
2. 入力幅 - 28
3. 入力チャネル数 - 256
4. 出力チャネル数 - 256
5. カーネル数 - -1
6. ストライド数 - -1
7. パディング数 - 0
8. ReLU実装 - true
9. conv実装 - false
10. fire実装 - true
11. fire_t fire_params_five
 1. squeeze層カーネル数 - 1
 2. squeeze層ストライド数 - 1
 3. squeeze層出力チャネル数 - 32
 4. expand層e1カーネル数 - 1
 5. expand層e1ストライド数 - 1
 6. expand層e1出力チャネル数 - 128
 7. expand層e2カーネル数 - 3
 8. expand層e2ストライド数 - 3
 9. expand層e2出力チャネル数 - 128
12. max_pool実装 - true
13. pooling_t pool_params_five
 1. カーネル数 - 3
 2. ストライド数 - 2
14. global_pool実装 - false
15. weight_offset – 70976
16. num_weights – 49440
17. img_offset – 2088488 (前の層の出力)
18. output_offset – 2289192 (前の層のscratch_offset の値)
19. scratch_offset – 2339368

第6層目
1. 入力高さ - 14
2. 入力幅 - 14
3. 入力チャネル数 - 256
4. 出力チャネル数 - 384
5. カーネル数 - -1
6. ストライド数 - -1
7. パディング数 - 0
8. ReLU実装 - true
9. conv実装 - false
10. fire実装 - true
11. fire_t fire_params_six
 1. squeeze層カーネル数 - 1
 2. squeeze層ストライド数 - 1
 3. squeeze層出力チャネル数 - 48
 4. expand層e1カーネル数 - 1
 5. expand層e1ストライド数 - 1
 6. expand層e1出力チャネル数 - 192
 7. expand層e2カーネル数 - 3
 8. expand層e2ストライド数 - 3
 9. expand層e2出力チャネル数 - 192
12. max_pool実装 - false
13. pooling_t pool_params_six - 0, コンストラクタ
14. global_pool実装 - false
15. weight_offset – 120416
16. num_weights – 104880
17. img_offset – 2289192 (前の層の出力)
18. output_offset – 2339368 (前の層のscratch_offset の値)
19. scratch_offset – 2414632

第7層目
1. 入力高さ - 14
2. 入力幅 - 14
3. 入力チャネル数 - 384
4. 出力チャネル数 - 384
5. カーネル数 - -1
6. ストライド数 - -1
7. パディング数 - 0
8. ReLU実装 - true
9. conv実装 - false
10. fire実装 - true
11. fire_t fire_params_seven
 1. squeeze層カーネル数 - 1
 2. squeeze層ストライド数 - 1
 3. squeeze層出力チャネル数 - 48 
 4. expand層e1カーネル数 - 1
 5. expand層e1ストライド数 - 1
 6. expand層e1出力チャネル数 - 192
 7. expand層e2カーネル数 - 3
 8. expand層e2ストライド数 - 3
 9. expand層e2出力チャネル数 - 192
12. max_pool実装 - false
13. pooling_t pool_params_seven - 0, コンストラクタ
14. global_pool実装 - false
15. weight_offset – 225296
16. num_weights – 111024
17. img_offset – 2339368 (前の層の出力)
18. output_offset – 2414632 (前の層のscratch_offset の値)
19. scratch_offset – 2489896

第8層目
1. 入力高さ - 14
2. 入力幅 - 14
3. 入力チャネル数 - 384
4. 出力チャネル数 - 512
5. カーネル数 - -1
6. ストライド数 - -1
7. パディング数 - 0
8. ReLU実装 - true
9. conv実装 - false
10. fire実装 - true
11. fire_t fire_params_eight
 1. squeeze層カーネル数 - 1
 2. squeeze層ストライド数 - 1
 3. squeeze層出力チャネル数 - 64
 4. expand層e1カーネル数 - 1
 5. expand層e1ストライド数 - 1
 6. expand層e1出力チャネル数 - 256
 7. expand層e2カーネル数 - 3
 8. expand層e2ストライド数 - 3
 9. expand層e2出力チャネル数 - 256
12. max_pool実装 - false
13. pooling_t pool_params_eight - 0, コンストラクタ
14. global_pool実装 - false
15. weight_offset – 336320
16. num_weights – 188992
17. img_offset – 2414632 (前の層の出力)
18. output_offset – 2489896 (前の層のscratch_offset の値)
19. scratch_offset – 2590248

第9層目
1. 入力高さ - 14
2. 入力幅 - 14
3. 入力チャネル数 - 512
4. 出力チャネル数 - 512
5. カーネル数 - -1
6. ストライド数 - -1
7. パディング数 - 0
8. ReLU実装 - true
9. conv実装 - false
10. fire実装 - true
11. fire_t fire_params_nine
 1. squeeze層カーネル数 - 1
 2. squeeze層ストライド数 - 1
 3. squeeze層出力チャネル数 - 64
 4. expand層e1カーネル数 - 1
 5. expand層e1ストライド数 - 1
 6. expand層e1出力チャネル数 - 256
 7. expand層e2カーネル数 - 3
 8. expand層e2ストライド数 - 3
 9. expand層e2出力チャネル数 - 256
12. max_pool実装 - false
13. pooling_t pool_params_nine - 0, コンストラクタ
14. global_pool実装 - false
15. weight_offset – 525312
16. num_weights – 197184
17. img_offset – 2489896 (前の層の出力)
18. output_offset – 2590248 (前の層のscratch_offset の値)
19. scratch_offset – 2690600

第10層目
1. 入力高さ - 14
2. 入力幅 - 14
3. 入力チャネル数 - 512
4. 出力チャネル数 - 1000
5. カーネル数 - 1
6. ストライド数 - 1
7. パディング数 - 0
8. ReLU実装 - true
9. conv実装 - true
10. fire実装 - false
11. fire_t fire_params_ten - 0, コンストラクタ
12. max_pool実装 - false
13. pooling_t pool_params_eight - 0, コンストラクタ
14. global_pool実装 - true
15. weight_offset – 722496
16. num_weights – 513000
17. img_offset – 2590248 (前の層の出力)
18. output_offset – 2690600 (前の層のscratch_offset の値)
19. scratch_offset – 2691600
  1. 2018年07月15日 05:30 |
  2. DNN
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/4229-3efffe9c
この記事にトラックバックする(FC2ブログユーザー)