teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

7

追記内コード追加

2021/07/26 01:20

投稿

bobby2128
bobby2128

スコア42

title CHANGED
File without changes
body CHANGED
@@ -85,7 +85,7 @@
85
85
  上記のとおり、((None, None, 7), (None, None, 7))となっておりました。
86
86
  1つ目は問題、2つ目は正解データで構成された教師データあるという認識です。
87
87
 
88
- イメージとしては、ここで((32, 24, 7), (32, 24, 7))となっているかなと想像しておりましたが、何故かNone,Noneとなっておりました。おそらく、バッチ数=32、窓幅=24 共に、特定のデータの切り方に対するひとかたまりでであるため、表示されず、一行辺りのデータの最小単位である7つの特徴量だけが表示されたのかなと想像しておりますが、その認識で正しいでしょうか。
88
+ イメージとしては、ここで((32, 24, 7), (32, 24, 7))となっているかなと想像しておりましたが、何故かNone,Noneとなっておりました。おそらく、バッチ数=32、窓幅=24 共に、特定のデータの切り方に対するひとかたまりでであるため、表示されず、データの一行辺りに有する7つの特徴量という情報最小単位なので、それが表示されたのかなと想像しておりますが、その認識で正しいでしょうか。
89
89
 
90
90
  ちなみに、以下の手順にて、
91
91
  なんとなくではありますが、training_data_set全体の形を確認いたしました。
@@ -98,7 +98,7 @@
98
98
  要素としては、前回同様、意図したとおりの(32,24,7)のデータになっていることが分かりました。
99
99
  次に、データの長さを以下にて確認いたしました。
100
100
  ```len
101
- len(list(train_set))
101
+ len(list(training_data_set))
102
102
 
103
103
  →1349 #バッチ数32と掛け合わせて、全データの行数と一致することを確認。
104
104
  ```
@@ -106,12 +106,12 @@
106
106
 
107
107
  次に、リストにした初めの要素の中身と要素数を確認いたしました。
108
108
  ```list
109
- list(train_set)[0]
109
+ list(training_data_set)[0]
110
110
 
111
111
  →(<tf.Tensor: shape=(32, 24, 7), dtype=float64, numpy=array([[[0.433
112
112
  ```
113
113
  ```len
114
- len(list(train_set)[0])
114
+ len(list(training_data_set)[0])
115
115
 
116
116
  →2
117
117
  # 上述の通り、1つ目は問題、2つ目は正解データで構成された教師データあるという認識でして、
@@ -121,13 +121,13 @@
121
121
 
122
122
  次に、念のための確認のため、以下を実施いたしました。
123
123
  ```check
124
- len(list(train_set)[0][0])
124
+ len(list(training_data_set)[0][0])
125
125
  →32
126
126
 
127
- len(list(train_set)[0][0][0])
127
+ len(list(training_data_set)[0][0][0])
128
128
  →24
129
129
 
130
- len(list(train_set)[0][0][0][0])
130
+ len(list(training_data_set)[0][0][0][0])
131
131
  →7
132
132
  ```
133
133
 

6

追記箇所微修正

2021/07/26 01:20

投稿

bobby2128
bobby2128

スコア42

title CHANGED
File without changes
body CHANGED
@@ -45,7 +45,7 @@
45
45
 
46
46
  【お伺い点1】
47
47
  ご教示いただきました通りmodel.summary()にて、一番左がNoneであることを確認いたしました。
48
- モデル側はあくまでノードの数を指定する箇所で、Noneは入ってくるデータ数が任意だよと示しているように思ったのですが、我々が意図的にサンプル数(バッチサイズ=32、窓幅(一つのバッチで何行与えるか)=24、特徴量の数=7)をモデル定義時点で指定することは不可能という理解で正しいでしょうか。(※現状、バッチのコントロールはtraining_data_set側で実施し、窓幅(行数)と特徴量の数の指定のみをモデル側で定義するという認識でいます。)
48
+ モデル側はあくまでノードの数を指定する箇所で、Noneは入ってくるデータ数が任意だよと示しているように思ったのですが、我々が意図的にサンプル数(バッチサイズ=32、窓幅(一つのバッチで何行与えるか)=24、特徴量の数=7)をモデル定義時点で指定することは不可能という理解で正しいでしょうか。(※現状、バッチの数のコントロールはtraining_data_set側で実施し、窓幅(行数)と特徴量の数の指定のみをモデル側で定義するという認識でいます。)
49
49
  ```result
50
50
  Model: "sequential"
51
51
  _________________________________________________________________

5

追記箇所編集完了

2021/07/26 01:15

投稿

bobby2128
bobby2128

スコア42

title CHANGED
File without changes
body CHANGED
@@ -84,12 +84,51 @@
84
84
  ```
85
85
  上記のとおり、((None, None, 7), (None, None, 7))となっておりました。
86
86
  1つ目は問題、2つ目は正解データで構成された教師データあるという認識です。
87
+
87
88
  イメージとしては、ここで((32, 24, 7), (32, 24, 7))となっているかなと想像しておりましたが、何故かNone,Noneとなっておりました。おそらく、バッチ数=32、窓幅=24 共に、特定のデータの切り方に対するひとかたまりでであるため、表示されず、一行辺りのデータの最小単位である7つの特徴量だけが表示されたのかなと想像しておりますが、その認識で正しいでしょうか。
88
89
 
89
- ちなみに、
90
+ ちなみに、以下の手順にて、
91
+ なんとなくではありますが、training_data_set全体の形を確認いたしました。
92
+ ```list
93
+ list(training_data_set)
90
94
 
95
+ →[(<tf.Tensor: shape=(32, 24, 7), dtype=float64, numpy=array([[[0.43…(以下略)
96
+ ```
91
97
 
98
+ 要素としては、前回同様、意図したとおりの(32,24,7)のデータになっていることが分かりました。
99
+ 次に、データの長さを以下にて確認いたしました。
100
+ ```len
101
+ len(list(train_set))
92
102
 
103
+ →1349 #バッチ数32と掛け合わせて、全データの行数と一致することを確認。
104
+ ```
93
105
 
94
106
 
107
+ 次に、リストにした初めの要素の中身と要素数を確認いたしました。
108
+ ```list
109
+ list(train_set)[0]
110
+
111
+ →(<tf.Tensor: shape=(32, 24, 7), dtype=float64, numpy=array([[[0.433
112
+ ```
113
+ ```len
114
+ len(list(train_set)[0])
115
+
116
+ →2
117
+ # 上述の通り、1つ目は問題、2つ目は正解データで構成された教師データあるという認識でして、
118
+   # 理由はわかりませんが、この手法ですと、(None,None,7)ではなく、
119
+ # (32, 24, 7)が二つあるということが確認できました。
120
+ ```
121
+
122
+ 次に、念のための確認のため、以下を実施いたしました。
123
+ ```check
124
+ len(list(train_set)[0][0])
125
+ →32
126
+
127
+ len(list(train_set)[0][0][0])
128
+ →24
129
+
130
+ len(list(train_set)[0][0][0][0])
131
+ →7
132
+ ```
133
+
95
134
  以上、お手数をおかけし恐縮ではございますが、どうかご確認をよろしくお願いいたします。

4

編集中

2021/07/26 01:13

投稿

bobby2128
bobby2128

スコア42

title CHANGED
File without changes
body CHANGED
@@ -82,8 +82,14 @@
82
82
  ```printresult
83
83
  <PrefetchDataset shapes: ((None, None, 7), (None, None, 7)), types: (tf.float64, tf.float64)>
84
84
  ```
85
- 上記のとおり、(None, None, 7), (None, None, 7)となっておりました。
85
+ 上記のとおり、((None, None, 7), (None, None, 7))となっておりました。
86
- 1つ目は問題、2つ目は答えであるという認識です。
86
+ 1つ目は問題、2つ目は正解データ構成された教師データあるという認識です。
87
+ イメージとしては、ここで((32, 24, 7), (32, 24, 7))となっているかなと想像しておりましたが、何故かNone,Noneとなっておりました。おそらく、バッチ数=32、窓幅=24 共に、特定のデータの切り方に対するひとかたまりでであるため、表示されず、一行辺りのデータの最小単位である7つの特徴量だけが表示されたのかなと想像しておりますが、その認識で正しいでしょうか。
87
88
 
89
+ ちなみに、
88
90
 
91
+
92
+
93
+
94
+
89
95
  以上、お手数をおかけし恐縮ではございますが、どうかご確認をよろしくお願いいたします。

3

追記、第二点、編集中です

2021/07/26 00:36

投稿

bobby2128
bobby2128

スコア42

title CHANGED
File without changes
body CHANGED
@@ -43,8 +43,9 @@
43
43
  本件ご確認と修正のご依頼をいただきまして誠にありがとうございました。
44
44
  以下に、確認した内容を記載させていただきます。
45
45
 
46
+ 【お伺い点1】
46
47
  ご教示いただきました通りmodel.summary()にて、一番左がNoneであることを確認いたしました。
47
- 【お伺い点1】モデル側はあくまでノードの数を指定する箇所で、Noneは入ってくるデータ数が任意だよと示しているように思ったのですが、我々が意図的にサンプル数(バッチサイズ=32、窓幅(一つのバッチで何行与えるか)=24、特徴量の数=7)をモデル定義時点で指定することは不可能という理解で正しいでしょうか。(※現状、バッチのコントロールはtraining_data_set側で実施し、窓幅(行数)と特徴量の数の指定のみをモデル側で定義するという認識でいます。)
48
+ モデル側はあくまでノードの数を指定する箇所で、Noneは入ってくるデータ数が任意だよと示しているように思ったのですが、我々が意図的にサンプル数(バッチサイズ=32、窓幅(一つのバッチで何行与えるか)=24、特徴量の数=7)をモデル定義時点で指定することは不可能という理解で正しいでしょうか。(※現状、バッチのコントロールはtraining_data_set側で実施し、窓幅(行数)と特徴量の数の指定のみをモデル側で定義するという認識でいます。)
48
49
  ```result
49
50
  Model: "sequential"
50
51
  _________________________________________________________________
@@ -72,4 +73,17 @@
72
73
  tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(60, return_sequences=True)),
73
74
  tf.keras.layers.Dense(30, activation="relu"),
74
75
  ```
76
+
77
+ 【お伺い点2】
78
+ training_data_setの要素毎ではなく、以下の通り、全体の確認を試行いたしました。
79
+ ```print
80
+ print(train_set)
81
+ ```
82
+ ```printresult
83
+ <PrefetchDataset shapes: ((None, None, 7), (None, None, 7)), types: (tf.float64, tf.float64)>
84
+ ```
85
+ 上記のとおり、(None, None, 7), (None, None, 7)となっておりました。
86
+ ※1つ目は問題、2つ目は答えであるという認識です。
87
+
88
+
75
89
  以上、お手数をおかけし恐縮ではございますが、どうかご確認をよろしくお願いいたします。

2

追記いたしました。

2021/07/25 23:31

投稿

bobby2128
bobby2128

スコア42

title CHANGED
File without changes
body CHANGED
@@ -35,4 +35,41 @@
35
35
 
36
36
 
37
37
  モデルの学習時に、trainingデータのinputshapeで学習して欲しいのですが、
38
- その指定の方法がよくわからず困っております。。。
38
+ その指定の方法がよくわからず困っております。。。
39
+
40
+
41
+ 以下、追記させていただきます
42
+ ========
43
+ 本件ご確認と修正のご依頼をいただきまして誠にありがとうございました。
44
+ 以下に、確認した内容を記載させていただきます。
45
+
46
+ ご教示いただきました通りmodel.summary()にて、一番左がNoneであることを確認いたしました。
47
+ 【お伺い点1】モデル側はあくまでノードの数を指定する箇所で、Noneは入ってくるデータ数が任意だよと示しているように思ったのですが、我々が意図的にサンプル数(バッチサイズ=32、窓幅(一つのバッチで何行与えるか)=24、特徴量の数=7)をモデル定義時点で指定することは不可能という理解で正しいでしょうか。(※現状、バッチのコントロールはtraining_data_set側で実施し、窓幅(行数)と特徴量の数の指定のみをモデル側で定義するという認識でいます。)
48
+ ```result
49
+ Model: "sequential"
50
+ _________________________________________________________________
51
+ Layer (type) Output Shape Param #
52
+ =================================================================
53
+ lstm (LSTM) (None, 24, 32) 5120
54
+ _________________________________________________________________
55
+ bidirectional (Bidirectional (None, 24, 120) 44640
56
+ _________________________________________________________________
57
+ dense (Dense) (None, 24, 30) 3630
58
+ _________________________________________________________________
59
+ dense_1 (Dense) (None, 24, 10) 310
60
+ _________________________________________________________________
61
+ dense_2 (Dense) (None, 24, 7) 77
62
+ =================================================================
63
+ Total params: 53,777
64
+ Trainable params: 53,777
65
+ Non-trainable params: 0
66
+ _________________________________________________________________
67
+ ```
68
+ ちなみに、繰り返しになりますが、input shapeを以下のようにinput_shape=[32,24,7]にすると、上述の通り、errorが出てきます。これを踏まえて、バッチ数はモデル側で指定しないものだと認識しております。。。
69
+ ```model
70
+ model = tf.keras.models.Sequential([
71
+ tf.keras.layers.LSTM(32, input_shape=[32,24,7],return_sequences=True),#input_shape has changed
72
+ tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(60, return_sequences=True)),
73
+ tf.keras.layers.Dense(30, activation="relu"),
74
+ ```
75
+ 以上、お手数をおかけし恐縮ではございますが、どうかご確認をよろしくお願いいたします。

1

タイトルへの”LSTM”の追加

2021/07/25 23:18

投稿

bobby2128
bobby2128

スコア42

title CHANGED
@@ -1,1 +1,1 @@
1
- tensorflowでのエラー:モデルへの入力データの形が合わない (None, )とは…?
1
+ tensorflowでのエラー:LSTMモデルへの入力データの形が合わない (None, )とは…?
body CHANGED
File without changes