Auto Encoder를 이용한 이상 검출 PART3 (학습)
라이브러리 import
import torch
import torch.utils.data
import torch.nn as nn
import numpy as np
import torch.nn.functional as F
import pickle
from detection_model import autoencoder # 有料
데이터 로드
with open('normal_data.pkl', 'rb') as f:
normal_data = pickle.load(f)
with open('anomaly_data.pkl', 'rb') as f:
anomaly_data = pickle.load(f)
하이퍼파라미터
Deep Learning의 하이퍼파라미터를 아래와 같이 설정합니다.
# ハイパーパラメータ
LEARNING_RATE = 0.0001
BATCH_SIZE = 10
EPOCHS = 50
Auto Encoder 교육 데이터 설정
Auto Encoder에서 훈련할 데이터를 설정합니다.
train_data = normal_data[:900]
모델 설정
model = autoencoder()
DataSet, DataLoader 설정
class MyDataSet(torch.utils.data.Dataset):
def __init__(self, data):
self.data = data
self.length = len(data)
def __len__(self):
return self.length
def __getitem__(self, index):
data = self.data[index]
return data
trainset = MyDataSet(train_data)
trainloader = torch.utils.data.DataLoader(
trainset, batch_size=BATCH_SIZE, shuffle=True)
손실 함수, 최적화 기법 설정
criterion = nn.MSELoss()
optimizer = torch.optim.AdamW(model.parameters(), lr=LEARNING_RATE)
학습
for epoch in range(EPOCHS):
print(epoch)
train_loss = 0
total = 0
model.train()
# cnt = 0
for data in trainloader:
optimizer.zero_grad()
output = model(data[0].float())
target = data[0].float()
loss = criterion(output, target)
train_loss += loss.item()
total += data[1].size(0)
loss.backward()
optimizer.step()
train_loss = train_loss / total
print(f"{train_loss}")
모델 저장
torch.save(model.state_dict(), "autoencoder.pth")
계속
이 계속에 흥미가 있는 분은, 이하의 링크에 계속이 있으므로, 잘 부탁드립니다.
htps // // 천. 에서 v/데에 pbぁc킨 c/보오 ks/c2181d607d772b
Reference
이 문제에 관하여(Auto Encoder를 이용한 이상 검출 PART3 (학습)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/deepblack/items/9e80329079f84bbadeda
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import torch
import torch.utils.data
import torch.nn as nn
import numpy as np
import torch.nn.functional as F
import pickle
from detection_model import autoencoder # 有料
with open('normal_data.pkl', 'rb') as f:
normal_data = pickle.load(f)
with open('anomaly_data.pkl', 'rb') as f:
anomaly_data = pickle.load(f)
하이퍼파라미터
Deep Learning의 하이퍼파라미터를 아래와 같이 설정합니다.
# ハイパーパラメータ
LEARNING_RATE = 0.0001
BATCH_SIZE = 10
EPOCHS = 50
Auto Encoder 교육 데이터 설정
Auto Encoder에서 훈련할 데이터를 설정합니다.
train_data = normal_data[:900]
모델 설정
model = autoencoder()
DataSet, DataLoader 설정
class MyDataSet(torch.utils.data.Dataset):
def __init__(self, data):
self.data = data
self.length = len(data)
def __len__(self):
return self.length
def __getitem__(self, index):
data = self.data[index]
return data
trainset = MyDataSet(train_data)
trainloader = torch.utils.data.DataLoader(
trainset, batch_size=BATCH_SIZE, shuffle=True)
손실 함수, 최적화 기법 설정
criterion = nn.MSELoss()
optimizer = torch.optim.AdamW(model.parameters(), lr=LEARNING_RATE)
학습
for epoch in range(EPOCHS):
print(epoch)
train_loss = 0
total = 0
model.train()
# cnt = 0
for data in trainloader:
optimizer.zero_grad()
output = model(data[0].float())
target = data[0].float()
loss = criterion(output, target)
train_loss += loss.item()
total += data[1].size(0)
loss.backward()
optimizer.step()
train_loss = train_loss / total
print(f"{train_loss}")
모델 저장
torch.save(model.state_dict(), "autoencoder.pth")
계속
이 계속에 흥미가 있는 분은, 이하의 링크에 계속이 있으므로, 잘 부탁드립니다.
htps // // 천. 에서 v/데에 pbぁc킨 c/보오 ks/c2181d607d772b
Reference
이 문제에 관하여(Auto Encoder를 이용한 이상 검출 PART3 (학습)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/deepblack/items/9e80329079f84bbadeda
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# ハイパーパラメータ
LEARNING_RATE = 0.0001
BATCH_SIZE = 10
EPOCHS = 50
Auto Encoder에서 훈련할 데이터를 설정합니다.
train_data = normal_data[:900]
모델 설정
model = autoencoder()
DataSet, DataLoader 설정
class MyDataSet(torch.utils.data.Dataset):
def __init__(self, data):
self.data = data
self.length = len(data)
def __len__(self):
return self.length
def __getitem__(self, index):
data = self.data[index]
return data
trainset = MyDataSet(train_data)
trainloader = torch.utils.data.DataLoader(
trainset, batch_size=BATCH_SIZE, shuffle=True)
손실 함수, 최적화 기법 설정
criterion = nn.MSELoss()
optimizer = torch.optim.AdamW(model.parameters(), lr=LEARNING_RATE)
학습
for epoch in range(EPOCHS):
print(epoch)
train_loss = 0
total = 0
model.train()
# cnt = 0
for data in trainloader:
optimizer.zero_grad()
output = model(data[0].float())
target = data[0].float()
loss = criterion(output, target)
train_loss += loss.item()
total += data[1].size(0)
loss.backward()
optimizer.step()
train_loss = train_loss / total
print(f"{train_loss}")
모델 저장
torch.save(model.state_dict(), "autoencoder.pth")
계속
이 계속에 흥미가 있는 분은, 이하의 링크에 계속이 있으므로, 잘 부탁드립니다.
htps // // 천. 에서 v/데에 pbぁc킨 c/보오 ks/c2181d607d772b
Reference
이 문제에 관하여(Auto Encoder를 이용한 이상 검출 PART3 (학습)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/deepblack/items/9e80329079f84bbadeda
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
model = autoencoder()
class MyDataSet(torch.utils.data.Dataset):
def __init__(self, data):
self.data = data
self.length = len(data)
def __len__(self):
return self.length
def __getitem__(self, index):
data = self.data[index]
return data
trainset = MyDataSet(train_data)
trainloader = torch.utils.data.DataLoader(
trainset, batch_size=BATCH_SIZE, shuffle=True)
손실 함수, 최적화 기법 설정
criterion = nn.MSELoss()
optimizer = torch.optim.AdamW(model.parameters(), lr=LEARNING_RATE)
학습
for epoch in range(EPOCHS):
print(epoch)
train_loss = 0
total = 0
model.train()
# cnt = 0
for data in trainloader:
optimizer.zero_grad()
output = model(data[0].float())
target = data[0].float()
loss = criterion(output, target)
train_loss += loss.item()
total += data[1].size(0)
loss.backward()
optimizer.step()
train_loss = train_loss / total
print(f"{train_loss}")
모델 저장
torch.save(model.state_dict(), "autoencoder.pth")
계속
이 계속에 흥미가 있는 분은, 이하의 링크에 계속이 있으므로, 잘 부탁드립니다.
htps // // 천. 에서 v/데에 pbぁc킨 c/보오 ks/c2181d607d772b
Reference
이 문제에 관하여(Auto Encoder를 이용한 이상 검출 PART3 (학습)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/deepblack/items/9e80329079f84bbadeda
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
criterion = nn.MSELoss()
optimizer = torch.optim.AdamW(model.parameters(), lr=LEARNING_RATE)
for epoch in range(EPOCHS):
print(epoch)
train_loss = 0
total = 0
model.train()
# cnt = 0
for data in trainloader:
optimizer.zero_grad()
output = model(data[0].float())
target = data[0].float()
loss = criterion(output, target)
train_loss += loss.item()
total += data[1].size(0)
loss.backward()
optimizer.step()
train_loss = train_loss / total
print(f"{train_loss}")
모델 저장
torch.save(model.state_dict(), "autoencoder.pth")
계속
이 계속에 흥미가 있는 분은, 이하의 링크에 계속이 있으므로, 잘 부탁드립니다.
htps // // 천. 에서 v/데에 pbぁc킨 c/보오 ks/c2181d607d772b
Reference
이 문제에 관하여(Auto Encoder를 이용한 이상 검출 PART3 (학습)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/deepblack/items/9e80329079f84bbadeda
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
torch.save(model.state_dict(), "autoencoder.pth")
이 계속에 흥미가 있는 분은, 이하의 링크에 계속이 있으므로, 잘 부탁드립니다.
htps // // 천. 에서 v/데에 pbぁc킨 c/보오 ks/c2181d607d772b
Reference
이 문제에 관하여(Auto Encoder를 이용한 이상 검출 PART3 (학습)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/deepblack/items/9e80329079f84bbadeda텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)