質問編集履歴
6
全体構成の変更
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Py
|
1
|
+
以下のPyTorchのモデルとTensorFlowのモデルは同じ構成でしょうか
|
test
CHANGED
@@ -10,25 +10,17 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
|
13
|
+
例として、下のPyTorchのモデルをTensorFlowのモデルに書き換えてみました。
|
14
|
+
|
15
|
+
(TensorFlowのプログラムではカスタムレイヤーを定義し、モデルはFubctional APIにより構築しています。)
|
14
16
|
|
15
17
|
|
16
18
|
|
17
|
-
|
19
|
+
**二つのモデルは同じ構成・構造となっていますでしょうか。**
|
18
20
|
|
19
21
|
|
20
22
|
|
21
|
-
それを参考にして、例として下のPytorchのモデルと同じ構成のものをTensorFlowで書いてみました。
|
22
23
|
|
23
|
-
TensorFlowのプログラムではカスタムレイヤーを定義し、モデルはFubctional APIにより構築しています。
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
### 最後に
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
二つのモデルは同じ構成のものとなっていますでしょうか。
|
32
24
|
|
33
25
|
|
34
26
|
|
@@ -121,3 +113,13 @@
|
|
121
113
|
model = tf.keras.Model(inputs=inputs, outputs=outputs)
|
122
114
|
|
123
115
|
```
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
### 参考
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
色々調べてみたところ、TensorFlowではカスタムレイヤーにおいて重みを定義してあげればよいようでしたので、それを参考にTensorFlowに変換しました。
|
124
|
+
|
125
|
+
([こちら](https://stackoverflow.com/questions/58488106/how-to-implement-some-trainable-parameters-in-the-model-of-keras-like-nn-paramet)を参考にしました。)
|
5
詳細な説明の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
それを参考にして、例として下のPytorchのモデルと同じ構成のものをTensorFlowで書いてみました。
|
22
22
|
|
23
|
-
TensorFlowのモデルはFubctional APIにより構築しています。
|
23
|
+
TensorFlowのプログラムではカスタムレイヤーを定義し、モデルはFubctional APIにより構築しています。
|
24
24
|
|
25
25
|
|
26
26
|
|
4
プログラムの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -100,7 +100,7 @@
|
|
100
100
|
|
101
101
|
def build(self, input_dim):
|
102
102
|
|
103
|
-
self.w = self.add_weight(shape=(input_dim, self.output_dim), initializer = "random_normal", trainable = True)
|
103
|
+
self.w = self.add_weight(shape=(input_dim[-1], self.output_dim), initializer = "random_normal", trainable = True)
|
104
104
|
|
105
105
|
self.b = self.add_weight(shape=(self.output_dim,), initializer = "zeros", trainable=True)
|
106
106
|
|
3
プログラムの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -110,7 +110,7 @@
|
|
110
110
|
|
111
111
|
x = tf.matmul(x, self.w) + self.b
|
112
112
|
|
113
|
-
return nn.softmax(x)
|
113
|
+
return tf.nn.softmax(x)
|
114
114
|
|
115
115
|
|
116
116
|
|
2
プログラムの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -88,7 +88,7 @@
|
|
88
88
|
|
89
89
|
|
90
90
|
|
91
|
-
class Mylayer(tf.keras.layer):
|
91
|
+
class Mylayer(tf.keras.layers.Layer):
|
92
92
|
|
93
93
|
def __init__(self, output_dim, **kwargs):
|
94
94
|
|
1
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
それを参考にして、例として
|
21
|
+
それを参考にして、例として下のPytorchのモデルと同じ構成のものをTensorFlowで書いてみました。
|
22
22
|
|
23
23
|
TensorFlowのモデルはFubctional APIにより構築しています。
|
24
24
|
|