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

質問編集履歴

5

文法修正

2020/11/30 08:19

投稿

PPAP_AWS
PPAP_AWS

スコア105

title CHANGED
File without changes
body CHANGED
@@ -185,7 +185,7 @@
185
185
  plt.show()
186
186
  ```
187
187
 
188
- ```エラーコード
188
+ ```Error
189
189
  Epoch: 1
190
190
  ---------------------------------------------------------------------------
191
191
  AttributeError Traceback (most recent call last)

4

変更点追加

2020/11/30 08:19

投稿

PPAP_AWS
PPAP_AWS

スコア105

title CHANGED
File without changes
body CHANGED
@@ -9,7 +9,9 @@
9
9
  import numpy as np
10
10
  import pandas as pd
11
11
  import matplotlib.pyplot as plt
12
-
12
+ ```
13
+
14
+ ```python
13
15
  stock_data = pd.read_csv(
14
16
  "/content/drive/MyDrive/^GSPC.csv",
15
17
  index_col = 0,
@@ -158,6 +160,8 @@
158
160
 
159
161
  train_seq[-test_size:].tolist()
160
162
 
163
+ ```
164
+ ```python
161
165
  for epoch in range(epochs):
162
166
 
163
167
  print()
@@ -179,10 +183,9 @@
179
183
  )
180
184
 
181
185
  plt.show()
182
-
183
- ↓エラー内容
186
+ ```
184
-
185
187
 
188
+ ```エラーコード
186
189
  Epoch: 1
187
190
  ---------------------------------------------------------------------------
188
191
  AttributeError Traceback (most recent call last)
@@ -202,5 +205,4 @@
202
205
  22 )
203
206
 
204
207
  AttributeError: 'Tensor' object has no attribute 'vierq'
205
- コード
206
208
  ```

3

コード追加

2020/11/30 08:18

投稿

PPAP_AWS
PPAP_AWS

スコア105

title CHANGED
File without changes
body CHANGED
@@ -2,40 +2,205 @@
2
2
  株価のデータ可視化の練習中に以下のコードでエラーコードが出てしまいました。
3
3
  コードの位置などを再度書き直したのですが、エラーが消えないのでご教授お願いいたします。
4
4
 
5
+ 一連の流れ。
5
6
  ```python
7
+ import torch
8
+ import torch.nn as nn
9
+ import numpy as np
10
+ import pandas as pd
11
+ import matplotlib.pyplot as plt
12
+
13
+ stock_data = pd.read_csv(
14
+ "/content/drive/MyDrive/^GSPC.csv",
15
+ index_col = 0,
16
+ parse_dates=True
17
+ )
6
18
 
19
+ stock_data
20
+
21
+ stock_data.drop(
22
+ ["Open", "High", "Low", "Close", "Volume"],
23
+ axis="columns",
24
+ inplace=True
25
+ )
26
+
27
+ stock_data
28
+
29
+ stock_data.plot(figsize=(12, 4))
30
+
31
+ y = stock_data["Adj Close"].values
32
+ y
33
+
34
+ from sklearn.preprocessing import MinMaxScaler
35
+
36
+ scaler = MinMaxScaler(feature_range=(-1, 1))
37
+ scaler.fit(y.reshape(-1, 1))
38
+ y =scaler.transform(y.reshape(-1, 1))
39
+ y
40
+
41
+ y = torch.FloatTensor(y).view(-1)
42
+ y
43
+
44
+ test_size = 24
45
+
46
+ train_seq = y[:-test_size]
47
+ test_seq = y[-test_size:]
48
+
49
+ plt.figure(figsize=(12, 4))
50
+ plt.xlim(-20, len(train_seq)+20)
51
+ plt.grid(True)
52
+ plt.plot(train_seq)
53
+
54
+ train_window_size = 12
55
+
56
+ def input_data(seq, ws):
57
+ out = []
58
+ L = len(seq)
59
+
60
+ for i in range(L-ws):
61
+ window = seq[i:i+ws]
62
+ label = seq[i+ws:i+ws+1]
63
+ out.append((window, label))
64
+
65
+ return out
66
+
67
+ train_data = input_data(train_seq, train_window_size)
68
+
69
+ print("The NUmber of Training Data: ",len(train_data))
70
+
71
+ class Model(nn.Module):
72
+
73
+ def __init__(self, input=1, h=50, output=1):
74
+
75
+ super().__init__()
76
+ self.hidden_size = h
77
+
78
+ self.lstm = nn.LSTM(input, h)
79
+ self.fc = nn.Linear(h, output)
80
+
81
+ self.hidden = (
82
+ torch.zeros(1, 1, h),
83
+ torch.zeros(1, 1, h)
84
+ )
85
+
86
+
87
+ def forward(self, seq):
88
+
89
+ out, _=self.lstm(
90
+ seq.vierq(len(seq), 1, -1),
91
+ self.hidden
92
+ )
93
+
94
+ out = self.fc(
95
+ out.view(len(seq), -1)
96
+ )
97
+
98
+ return out[-1]
99
+
100
+ torch.manual_seed(123)
101
+ model = Model()
102
+ criterion = nn.MSELoss()
103
+ optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
104
+
105
+ epochs = 10
106
+ train_losses = []
107
+ test_losses = []
108
+
109
+ def run_train():
110
+ model.train()
111
+
112
+ for train_window, correct_label in train_data:
113
+ optimizer.zero_grad()
114
+
115
+ model.hidden = (
116
+ torch.zeros(1, 1, model.hidden_size),
117
+ torch.zeros(1, 1, model.hidden_size),
118
+
119
+ )
120
+
121
+ train_predicred_label = model.forward(train_window)
122
+ train_loss = criterion(train_predicted_label, correct_label)
123
+
124
+ train_loss.backward()
125
+ optimizer.step()
126
+
127
+ train_losses.append(train_loss)
128
+
129
+ a = torch.tensor([3])
130
+ a.item()
131
+
132
+ def run_test():
133
+ model.eval()
134
+
135
+ for i in range(test_size):
136
+
137
+ test_window = torch.FloatTensor(extending_seq[-test_size:])
138
+
139
+ with torch.no_grad():
140
+
141
+ model.hidden = (
142
+ torch.zeros(1, 1, model.hidden_size),
143
+ torch.zeros(1, 1, model.hidden_size),
144
+
145
+ )
146
+
147
+ test_predicted_label = mode.forward(test_window)
148
+ extending_seq.append(test_predicted_label())
149
+
150
+ test_loss = criterion(
151
+ torch.FloatTensor(extending_seq[-test_size:]),
152
+ y[len(y)-test_size:]
153
+ )
154
+
155
+ test_losses.append(test_loss)
156
+
157
+ train_seq[-test_size:]
158
+
159
+ train_seq[-test_size:].tolist()
160
+
7
161
  for epoch in range(epochs):
162
+
8
163
  print()
9
164
  print(f'Epoch: {epoch+1}')
10
165
 
11
- run_train()
166
+ run_train()
12
167
 
13
- extending_seq = train_seq[-test_size:].to;ost()
168
+ extending_seq = train_seq[-test_size:].tolist()
14
169
 
15
- run_test()
170
+ run_test()
16
171
 
17
- plt.figure(figsize=(12, 4))
172
+ plt.figure(figsize=(12, 4))
18
- plt.xlim(-20, len(y)+20)
173
+ plt.xlim(-21, len(y)+20)
19
- plt.grid(True)
174
+ plt.grid(True)
20
175
 
21
- plt.plot(y.numpy())
22
-
23
- plt.plot(
176
+ plt.plot(
24
177
  range(len(y)-test_size, len(y)),
25
178
  extending_seq[-test_size:]
26
179
  )
27
180
 
28
- plt.show()
181
+ plt.show()
29
- ```
182
+
30
- ↓エラーコード
183
+ ↓エラー内容
31
- ```error
32
- NameError Traceback (most recent call last)
33
- <ipython-input-11-24515b2a1814> in <module>()
34
- ----> 1 for epoch in range(epochs):
35
- 2 print()
36
- 3 print(f'Epoch: {epoch+1}')
37
- 4
184
+
38
- 5 run_train()
39
185
 
186
+ Epoch: 1
187
+ ---------------------------------------------------------------------------
188
+ AttributeError Traceback (most recent call last)
189
+ <ipython-input-85-98e8d85b09e9> in <module>()
40
- NameError: name 'epochs' is not defined
190
+ 4 print(f'Epoch: {epoch+1}')
191
+ 5
192
+ ----> 6 run_train()
193
+ 7
194
+ 8 extending_seq = train_seq[-test_size:].tolist()
195
+
196
+ 1 frames
197
+ <ipython-input-77-b3af88443259> in forward(self, seq)
198
+ 18
199
+ 19 out, _=self.lstm(
200
+ ---> 20 seq.vierq(len(seq), 1, -1),
201
+ 21 self.hidden
202
+ 22 )
203
+
204
+ AttributeError: 'Tensor' object has no attribute 'vierq'
205
+ コード
41
206
  ```

2

変更点追加

2020/11/30 06:28

投稿

PPAP_AWS
PPAP_AWS

スコア105

title CHANGED
@@ -1,1 +1,1 @@
1
- python 株分析 練習 エラーコード
1
+ NameError: name 'epochs' is not defined python エラーコード
body CHANGED
File without changes

1

文法修正

2020/11/30 05:39

投稿

PPAP_AWS
PPAP_AWS

スコア105

title CHANGED
@@ -1,1 +1,1 @@
1
- 価の分析実装中 エラーコード
1
+ python 株分析 練習 エラーコード
body CHANGED
File without changes