메뉴 건너뛰기

목록
2022.11.23 19:00

profile
조회 수 7 댓글 0 예스잼 0 노잼 0

No Attached Image

import torch
import torch.optim as optim
import torch.nn as nn
 
import numpy as np
import pandas as pd
from torch.utils.data import DataLoader, TensorDataset
from sklearn.preprocessing import MinMaxScaler
 
import matplotlib.pyplot as plt
 
torch.manual_seed(0)
 
device = torch.device("cuda:0" if torch.cuda.is_available()
                      else "cpu")
 
seq_length = 7
data_dim = 6
hidden_dim = 10
output_dim = 1
learning_rate = 0.01
epochs = 500
batch_size = 100
 
def build_dataset(data, seq_len):
    dataX = []
    dataY = []
    for i in range(len(data)-seq_len):
        x = data[i:i+seq_len, :]
        y = data[i+seq_len, [-1]]
        dataX.append(x)
        dataY.append(y)
    return np.array(dataX), np.array(dataY)
 
df = pd.read_csv(r-")
 
df = df[::-1]
df = df[['Date','Close/Last','Volume','Open','High','Low']]
 
train_size = int(len(df)*0.7)
train_set = df[0:train_size]
test_set = df[train_size-seq_length:]
 
scaler_x = MinMaxScaler()
scaler_x.fit(train_set.iloc[:,:-1])
 
train_set.iloc[:,:-1] = scaler_x.transform(train_set.iloc[:,:-1])
test_set.iloc[:,:-1] =scaler_x.transform(test_set.iloc[:,:-1])
 
scaler_y = MinMaxScaler()
scaler_y.fit(train_set.iloc[:,[-1]])
 
trainX, trainY = build_dataset(np.array(train_set), seq_length)
testX, testY = build_dataset(np.array(test_set), seq_length)
 
trainX_tensor = torch.LongTensor(trainX).to(device)
trainY_tensor = torch.LongTensor(trainY).to(device)
 
testX_tensor = torch.LongTensor(testX).to(device)
testY_tensor = torch.LongTensor(testY).to(device)
 
dataset = TensorDataset(trainX_tensor, trainY_tensor)
 
dataloader = DataLoader(dataset,
                        batch_size=batch_size,
                        shuffle=False,
                        drop_last=True)
 
class LSTM(nn.Module):
    def __init__(self, input_dim, hidden_dim, seq_len, output_dim, layers):
        super(LSTM, self).__init__()
        self.hidden_dim = hidden_dim
        self.seq_len = seq_len
        self.output_dim = output_dim
        self.layers = layers
        self.lstm = nn.LSTM(input_dim, hidden_dim, num_layers=layers,
                            batch_first=True)
        self.fc = nn.Linear(hidden_dim, output_dim, bias=True)
    def reset_hidden_state(self):
        self.hidden = (
            torch.zeros(self.layers, self.seq_len, self.hidden_dim),
            torch.zeros(self.layers, self.seq_len, self.hidden_dim)            
        )
   
    def forward(self, x):
        x, _status = self.lstm(x)
        x = self.fc(x[:,-1])
        return x;
LSTM = LSTM(data_dim, hidden_dim, seq_length, output_dim, 1).to(device)
   
   

List of Articles
번호 제목 글쓴이 날짜 조회 수 추천
공지 수용소닷컴 이용약관 file asuka 2020.05.16 1312 1
1029 접속사 THAT 관계대명사 THAT 나무터칭수필맨 2023.04.29 52 0
1028 Tenstorrent 제품 써보고싶농 1 file 토요코키즈 2023.04.29 52 0
1027 4U 랙마운트 케이스 왤케비쌈 midori 2023.04.27 24 0
1026 zfs는 raidz에다가 드라이브 추가 못해서 참 아쉬움 2 midori 2023.04.27 24 0
1025 파이썬 << 이새끼 딥러닝 원툴임? 3 file 아야나미레이 2023.04.26 79 0
1024 아니나 이해가안되네 1 file 저능아 2023.04.26 20 0
1023 오늘 공부한 것 1 나무터칭수필맨 2023.04.22 26 0
1022 걍 간단하게 플로터로 앱 만들어보려는데 1 MDR 2023.04.22 15 0
1021 뭔가 아는것 같기도 하면서 나무터칭수필맨 2023.04.21 12 0
1020 C++에서의 구조체와 클래스 사용... 나무터칭수필맨 2023.04.20 30 0
1019 삭제된 게시글입니다. 저능아 2023.04.19 12 0
1018 삭제된 게시글입니다. 쓰레기 2023.04.19 17 0
1017 농림수산성이 업무에 챗GPT 투입 2 柊かがみ 2023.04.18 40 0
1016 matlab 으로 매크로를 만들 수 있을까 2 삼육두유 2023.04.15 53 0
1015 오늘 학교 과제내준거 삼김식감 2023.04.11 33 0
1014 23-03 삼성 코테풀이 1 삼김식감 2023.04.10 56 0
1013 블록체인 공부 시작하겠음... 삼김식감 2023.04.07 21 0
1012 결국 교수상이 AI를 언급해버리고 말았음 2 file 삼육두유 2023.04.05 66 0
1011 개인용 1 나는무적이다코인은신이고 2023.04.05 16 0
1010 회귀분석만 하면 뭐함? 1 삼김식감 2023.04.03 26 0
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 56 Next
/ 56