質問編集履歴

1

タイトル及びコード一式のダウンロード先URL(Git)の掲載になります

2021/05/16 23:14

投稿

rrrkkkrr
rrrkkkrr

スコア3

test CHANGED
@@ -1 +1 @@
1
- yolov3-tf2のmodels.pyにおける関数YoloV3x_36, x_61, xへの代入されている値が分からない
1
+ yolov3-tf2のmodels.py内の、関数YoloV3で定義された変数x_36, x_61, xへの代入されている値が分からない
test CHANGED
@@ -4,9 +4,17 @@
4
4
 
5
5
 
6
6
 
7
- 関数Darknetのreturn tf.keras.Model(inputs, (x_36, x_61, x), name=name)
7
+ 関数Darknetのreturn tf.keras.Model(inputs, (x_36, x_61, x), name=name)
8
8
 
9
- は、引き数がinputs及びoutputsと定義されていますが、関数YoloV3において、
9
+ は、引き数がinputs及びoutputsと定義されています
10
+
11
+ 関数YoloV3の2行目において、
12
+
13
+ ```
14
+
15
+ x_36, x_61, x = Darknet(name='yolo_darknet')(x)
16
+
17
+ ```
10
18
 
11
19
  x_36はx_36の値、x_61はx_61の値、xはxまでの値として代入されているのでしょうか。
12
20
 
@@ -14,9 +22,15 @@
14
22
 
15
23
 
16
24
 
25
+ 下記がファイル一式のURLになります。コード内部への変更はしておらず、原文のまま掲載しております。
26
+
27
+ 一式ダウンロード先URL:https://github.com/zzh8829/yolov3-tf2
28
+
17
29
 
18
30
 
19
31
  ```
32
+
33
+ ※第一行目
20
34
 
21
35
  def YoloV3(size=None, channels=3, anchors=yolo_anchors,
22
36
 
@@ -24,9 +38,59 @@
24
38
 
25
39
  x = inputs = Input([size, size, channels], name='input')
26
40
 
41
+
42
+
27
43
  x_36, x_61, x = Darknet(name='yolo_darknet')(x)
28
44
 
45
+
46
+
47
+ x = YoloConv(512, name='yolo_conv_0')(x)
48
+
49
+ output_0 = YoloOutput(512, len(masks[0]), classes, name='yolo_output_0')(x)
50
+
51
+
52
+
53
+ x = YoloConv(256, name='yolo_conv_1')((x, x_61))
54
+
55
+ output_1 = YoloOutput(256, len(masks[1]), classes, name='yolo_output_1')(x)
56
+
57
+
58
+
59
+ x = YoloConv(128, name='yolo_conv_2')((x, x_36))
60
+
61
+ output_2 = YoloOutput(128, len(masks[2]), classes, name='yolo_output_2')(x)
62
+
63
+
64
+
29
- .....(以下省略)
65
+ if training:
66
+
67
+ return Model(inputs, (output_0, output_1, output_2), name='yolov3')
68
+
69
+
70
+
71
+ boxes_0 = Lambda(lambda x: yolo_boxes(x, anchors[masks[0]], classes),
72
+
73
+ name='yolo_boxes_0')(output_0)
74
+
75
+ boxes_1 = Lambda(lambda x: yolo_boxes(x, anchors[masks[1]], classes),
76
+
77
+ name='yolo_boxes_1')(output_1)
78
+
79
+ boxes_2 = Lambda(lambda x: yolo_boxes(x, anchors[masks[2]], classes),
80
+
81
+ name='yolo_boxes_2')(output_2)
82
+
83
+
84
+
85
+ outputs = Lambda(lambda x: yolo_nms(x, anchors, masks, classes),
86
+
87
+ name='yolo_nms')((boxes_0[:3], boxes_1[:3], boxes_2[:3]))
88
+
89
+
90
+
91
+ return Model(inputs, outputs, name='yolov3')
92
+
93
+
30
94
 
31
95
  ```
32
96