質問編集履歴

6

全体構成の変更

2021/11/18 23:09

投稿

aiueo12345
aiueo12345

スコア41

test CHANGED
@@ -1 +1 @@
1
- Pytorchのnn.ParameterをTensorFlowで実装たい
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
- 色々調べみたところ、[こちら](https://stackoverflow.com/questions/58488106/how-to-implement-some-trainable-parameters-in-the-model-of-keras-like-nn-paramet)にカスタムレイヤーにおて重みを定義てあげればよいといことが書れていました
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

詳細な説明の追加

2021/11/18 23:09

投稿

aiueo12345
aiueo12345

スコア41

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

プログラムの修正

2021/11/18 23:00

投稿

aiueo12345
aiueo12345

スコア41

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

プログラムの修正

2021/11/18 22:58

投稿

aiueo12345
aiueo12345

スコア41

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

プログラムの修正

2021/11/18 22:34

投稿

aiueo12345
aiueo12345

スコア41

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

2021/11/18 22:13

投稿

aiueo12345
aiueo12345

スコア41

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- それを参考にして、例として下のPytorchのモデルと同じ構成のものをTensorFlowで書いてみました。
21
+ それを参考にして、例として下のPytorchのモデルと同じ構成のものをTensorFlowで書いてみました。
22
22
 
23
23
  TensorFlowのモデルはFubctional APIにより構築しています。
24
24