LSTM搭建自编码器提取特征,KNN分类
import torch
import torch.nn as nn
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 超参数
EPOCH = 200
LR = 0.005
data = load_iris()
y = data.target
x = data.data
#X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.3)
#print(y_train)
class RNN(torch.nn.Module):
def __init__(self):
super().__init__()
self.rnn = torch.nn.LSTM(
input_size=4,
hidden_size=64,
num_layers=1,
batch_first=True
)
self.out = torch.nn.Linear(in_features=64, out_features=3)
self.rnn_2 = torch.nn.LSTM(
input_size=3,
hidden_size=64,
num_layers=1,
batch_first=True
)
self.out_2 = torch.nn.Linear(in_features=64, out_features=4)
def forward(self,