import torch
import torch.nn.functional as F
import torch.nn as nn
import torch.optim as optim
from torch.autograd import variable
from scipy import misc
from torchvision import transforms, datasets
from torchvision.utils import save_image
import os
batch_size = 64
train_data = datasets.MNIST(root='./data/', train=True, transform=transforms.ToTensor(), download= True)
test_data = datasets.MNIST(root= './data/', train=True, transform=transforms.ToTensor(), download= True)
train_loader = torch.utils.data.DataLoader(dataset=train_data, batch_size= batch_size, shuffle= True)
test_loader = torch.utils.data.DataLoader(dataset=test_data, batch_size= batch_size, shuffle=True)
if not os.path.exists('./output_image'):
os.mkdir('./output_image')
def to_img(x):
x = 0.5 * (x + 1)
x = x.clamp(0, 1)
x = x.view(x.size(0), 1, 28, 28)
return x
def Load_image():
tif_data = misc.imread('/Users/changxingya/Downloads/UCSD_Anomaly_Dataset.v1p2/UCSDped1/Train/Train001/001.tif')
tif_data_tensor = torch.from_numpy(tif_data)
print(tif_data_tensor.size())
return tif_data_tensor
class TemporalDetection(nn.Module):
def __init__(self):
super(TemporalDetection, self).__init__()
self.encoder = nn.Sequential(
nn.Conv2d(1, 16, 3, stride=3),
nn.ReLU(True),
nn.Conv2d(16, 32, 3, stride=2),
nn.ReLU(True)
)
self.decoder = nn.Sequential(
nn.ConvTranspose2d(32, 16, 5, stride=3),
nn.ReLU(True),
nn.ConvTranspose2d(16, 1, 2, stride=2),
nn.Tanh()
)
def forward(self, x):
x = self.encoder(x)
x = self.decoder(x)
return x
model = TemporalDetection()
print(model)
optimizer = optim.Adam(model.parameters(), lr=0.001)
loss_function = nn.MSELoss()
def train(epoch):
for i, (data,target) in enumerate(train_loader):
output = model(data)
loss = loss_function(output, data)
print("Temporal Detection Loss = {}".format(loss))
optimizer.zero_grad()
loss.backward()
optimizer.step()
if i % 10 == 0:
img = to_img(output)
save_image(img, './output_image/image_{}.png'.format(i))
for i in range(1, 10):
#train_data = Load_image()
train(i)
print("Done")
相关推荐
PyTorch - Auto Encoder及其实战
目录AutoEncoder经典AutoEncoderLoss Function的选择Denoising AutoEncoderVariational AutoEncoderReparameterization Trick实战部分AutoEncoder网络的构建数据集加载、训练和结果显示导入包数据集加载训练以及结果显示结果Variational AutoEncoder网络的搭建设置网络(\__init__())forward()数据集加载、训练和结果显示数据集加载训练以及结果显示结果 AutoEncoder
【Pytorch】PCA的Pytorch实现
from sklearn import datasets import torch import numpy as np def PCA(data, k=2): X = torch.from_numpy(data) X_mean = torch.mean(X, 0) X = X - X_mean.expand_as(X) U, S, V = torch.svd(torch.t(X)) # U*Diag(S)*V_T return torch.mm(X, U[:,:,k]) iris = d
史上最全MNIST系列(五)——AutoEncoder(普通、降噪、收缩自编码)在MNIST上的Pytorch实现
文章目录一、理论二、普通自编码网络代码2.1 Encoder.py2.2 Decoder.py2.3 Mainnet.py 一、理论 二、普通自编码网络代码 2.1 Encoder.py import torch import torch.nn as nn class EncoderNet(nn.Module): def __init__(self): super(EncoderNet,self).__init__() self.conv1 = nn.Sequent
白板推导系列Pytorch-PCA降维
白板推导系列Pytorch-PCA降维 前面在看花书的时候就遇到过PCA,但是花书上的推导和白板推导中的推导不太一样,花书上的推导我至今还没弄清楚,但是这个我懂了,接下来我将以mnist数据集为例实现PCA降维并利用sklearn朴素贝叶斯分类器分类 导入相关包 import torch import matplotlib.pyplot as plt from sklearn.datasets import load_digits from sklearn.model_selection import tr
保姆级教程:用ncnn把自训练的YOLOv8模型塞进Android App(附完整代码)
本文提供了一份详细的保姆级教程,指导开发者如何将自训练的YOLOv8模型通过ncnn框架部署到Android应用中。教程涵盖环境配置、模型训练与转换、Android工程集成及性能优化等全流程,并附完整代码实现,帮助开发者快速掌握移动端AI模型部署技术。
TX 的 LOL(Local Oscillator Leakage,本振泄露)
项目内容LOL 是什么本振残留在 TX 输出中心频率上的杂散主要原因IQ 失衡、硬件不完美、零中频架构影响杂散、干扰、性能劣化、安全问题解决方法初始化校准 + 跟踪校准(AD9371 支持)检测手段频谱仪、回环检测、ADC ILA 抓取。
机器学习之PyTorch和Scikit-Learn第5章 通过降维压缩数据Part 2
其它章节内容请见。
UEC++ 虚幻5笔记(数字孪生示例) day13
文件读取与写入,数字孪生入门制作
PCA的原理和pytorch实现
PCA的原理和pytorch实现PCA原理简介pytorch实现 PCA即主成分分析在数据降维方面有着非常重要的作用,本文简单介绍其原理,并给出pytorch的实现。 PCA原理简介 PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。PCA的工作就是从原始的空间中顺序地找一组相互正交的坐标轴,新的坐标轴的选择与数据本身是...
环境仿真软件:MIKE 21_(9).MIKE21水生植物模块介绍
MIKE21支持多种水生植物的模拟,用户需要在配置文件中定义植物种类及其特性。</</</</</</</</</假设我们需要定义一种新的水生植物“水葫芦”(Water Hyacinth),并将其特性写入配置文件。# 创建XML根元素# 定义新的植物种类# 生成XML文件假设我们需要分析仿真的水流速度变化,并绘制水流速度随时间变化的图。# 读取NetCDF文件# 获取水流速度数据# 获取时间数据# 绘制水流速度随时间变化的图plt.xlabel('时间 (天)')
AIGC实战——变分自编码器(Variational Autoencoder, VAE)
变分自编码器通过在模型中引入随机性,并限制潜空间中的点的分布来解决自编码器存在的问题。只需进行一些微小的调整,就可以将自编码器转换为变分自编码器,从而使其成为真正的生成模型。在本节中,我们介绍了变分自编码器的基本原理,并使用 `Keras` 实现了一个变分自编码器用于生成 Fashion-MNIST 图像。
基于pytorch实现的Auto-encoder模型
最近因为在自己论文当中可能要用到Auto-encoder 这个东西,学了点皮毛之后想着先按照别人的解释实现一下,然后在MNIST数据集上跑了下测试看看效果。 话不多说直接贴代码。 """ Author:Media 2020-10-23 """ import torch import torch.nn as nn import torch.utils.data as Data from matplotlib import pyplot as plt import numpy as np import pand
面向边缘计算的YOLOv12模型剪枝-蒸馏联合优化实战教程**
这套剪枝-蒸馏联合方案的优势在于其系统性和可靠性。它不是单一的技巧,而是一套完整的工程流程,确保了从研发到部署的无缝衔接。
Encoder-Decoder和Auto-Encoder的简介
简单了解Encoder-Decoder和AE
光学传播仿真软件:ASAP_(1).ASAP软件介绍与安装
ASAP(Advanced System for Analysis and Propagation)是一款强大的光学传播仿真软件,广泛应用于光学系统的设计、分析和优化。它提供了丰富的建模工具和仿真功能,可以帮助用户从简单的光学元件到复杂的光学系统进行仿真。:支持光学、机械、热学等多物理场的联合仿真。:采用高精度的算法,确保仿真结果的准确性。:内置了大量的光学元件,如透镜、反射镜、棱镜、光栅等。:提供直观的用户界面,支持多种建模和仿真方式。:支持使用脚本语言进行二次开发,增强软件的定制能力。
Jetson nano 系列之2—板载摄像头IMX219启动
我选用的是亚博科技jetson nano的开发板。
pytorch深度学习:自编码器Auto-encoder(二)
上一节我们了解了自编码器的基础知识,这一节我们在pytorch上创建一个自编码器用于处理mnist数据集。 1.问题的描述 关于mnist数据集在这里就不再描述了,相信大家已经很熟悉了。今天使用自编码器有两个目的,即: 使用encoder显示压缩的特征数据。 使用decoder生成mnist数据集。 先对一些超参数进行设置: # 定义一些超参数 EPOCH = 10 BATCH_SIZE = 64 LR = 0.005 DOWNLOAD_MNIST = True # 下过数据的话, 就可以设置成 F
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
Auto-encoder 自编码器 附Pytorch代码 结果可视化
讲解了Auto-encoder 自编码器的运行和一些基础的疑问,适合初学者了解
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
ccc-pytorch-Auto-Encoders(12)
Auto-Encoders简介、变种AE介绍、Auto-Encoders实战
简单记录:自动编码器,pytorch + MNIST
自动编码器( AutoEncoder)最开始作为一种数据的压缩方法,其特点有:(1)跟数据相关程度很高,这意味着自动编码器只能压缩与训练数据相似的数据,因为使用神经网络提取的特征一般是高度相关于原始的训练集,使用人脸训练出来的自动编码器在压缩自然界动物的图片时表现就会比较差,因为它只学习到了人脸的特征,而没有学习到自然界图片的特征。(2)压缩后数据是有损的,这是因为在降维的过程中不可避免地要丢失信息。......
使用AutoEncoder对MNIST手写数据集进行表征学习(pytorch)
自编码
第十周学习总结
第十周学习总结计算机视觉PyTorch 计算机视觉 复习了无监督学习的相关概念,了解了了计算机视觉中生成模型的不同方法pixelRNNs 、CNNs、Auto-Encoders和GANS,学习了强化学习的基本方法。 PyTorch 对MNIST数据集完成了VAE模型的代码实现,学习了GAN的部分基础知识。 ...
Pytorch Advanced(二) Variational Auto-Encoder
变分自编码 (Variational Autoencoder) 为了让隐层抓住输入数据特性, 而不是简单的输出数据=输入数据,他在隐层中加入随机噪声(单位高斯噪声)(这个过程也叫reparametrize),以确保隐层能较好抽象输入数据特点。有了随机的一张图片之后,我们把他完整的放入模型中,生成了和输入相似的一张图片,也没看出来是修复了图像......model.decode()是一个解码的过程,我们给他一个随机的中间特征z就可以输出一个数字图片了。下面找了一张很丑的图来说明自编码的过程。
[PyTorch][chapter 54][Variational Auto-Encoder 实战]
variational autoencoder的架构和Autoencoder差不多,区别在于不再是把输入当作一个点,而是把输入当成一个分布。,它被定义为一个有规律地训练以避免过度拟合的Autoencoder,可以确保潜在空间具有良好的属性从而实现内容的生成。这里主要实现: Variational Autoencoders (VAEs) 变分自动编码器。训练的过程中加入一些限制,使它的latent space规则一点呢。作用: Variational Autoencoders (VAE)
FinRL-Meta 基准评测体系指南:统一绩效指标、基线策略与回测实战
本文以 FinRL-Meta 的 Benchmark 文档([docs/source/finrl_meta/Benchmark.rst](https://link.gitcode.com/i/66705901a2163aaace2128b4d850f112))为骨架,系统讲解 FinRL 项目中用于衡量交易策略的统一绩效指标体系、官方提供的基线策略定义,以及基于这些指标和基线开展回测对比的完整实践
深度学习笔记 --- 自编码器
自编码器 (Auto-Encoder) 自编码器是通过无监督的方式来学习如何有效压缩和编码一组数据,然后学习如何将数据从简化的编码表示重新构造出尽可能接近原输入的表示。即,将一个D维的数据映射到一个M维的特空间中,并将这串编码尽可能的重构出原始样本。自编码主要是用来降低数据维度和学习如何忽略数据中的噪音。 自编码器主要由两个部分组成: 编码器(Encoder):将目标输入通过神经网络将输入的数据降维到一个code 解码器(Decoder):模型将学习如何从编码中重构出原始样本 在有的教程中,自编码器还有
1695



被折叠的 条评论
为什么被折叠?



