VAE代码学习

1.pytorch中给出的例子

https://github.com/pytorch/examples/blob/master/vae/main.py

实现过程非常简单:

class VAE(nn.Module):
    def __init__(self):
        super(VAE, self).__init__()

        self.fc1 = nn.Linear(784, 400)#第一层,推断
        self.fc21 = nn.Linear(400, 20)#对应均值
        self.fc22 = nn.Linear(400, 20)#对应方差
        self.fc3 = nn.Linear(20, 400)#生成层1
        self.fc4 = nn.Linear(400, 784)#生成层2

    def encode(self, x):
        h1 = F.relu(self.fc1(x))
        return self.fc21(h1), self.fc22(h1)

    def reparameterize(self, mu, logvar):
        std = torch.exp(0.5*logvar)
        eps = torch.randn_like(std)
        return mu + eps*std

    def decode(self, z):
        h3 = F.relu(self.fc3(z))
        return torch.sigmoid(self.fc4(h3))#这里为什么选sigmoid而不是其他,需要斟酌

    def forward(self, x):
        mu, logvar = self.encode(x.view(-1, 784))
        z = self.reparameterize(mu, logvar)#对均值和方差进行重参数
        return self.decode(z), mu, logvar

那我不明白了,这个https://github.com/wiseodd/generative-models里给的这些VAE实现有什么意义呢?还很难看懂

2.torch中Variable已弃用

原文地址:https://www.cnblogs.com/BlueBlueSea/p/12289801.html

时间: 2024-08-30 11:54:37

VAE代码学习的相关文章

一个女大学生的代码学习之路(二)

首先说一下,写这种文章是由于我在四月四日晚上,在手动搭建自己的第一个ssh项目的时候,遇到了一个配置的问题,怎么解决也弄不好,当时是四号晚上九点,我看了一眼表,我就想两个小时之内,我要是能搞定就算行了,但是其实,我搞到三点才OK(凌晨),那时候已经是五号了,转天是一家子去扫墓的时候,结果我居然以这种一个理由没有去,理由是我太累了么?我只是就是搭了一个架子,就是由于我的包太混乱了,导致不兼容,所以tomcat总也不启动,你可能认为好笑,这么简单一个问题怎么就费这多多时间呢,但是作为一个刚接触三框架

导航悬浮于顶部代码学习

导航悬浮于顶部代码学习,由于博客园视频限制,暂时不能全屏观看,如果想全屏观看高清视频,可以点击链接查看:http://www.zymseo.com/20.html jQuery页面滚动顶部悬浮导航是一款带二级下拉菜单的jQuery悬浮导航,导航可跟随页面滚动一直出现在顶部,很实用. 当你使用此效果装饰网页时,出现滚动条无法下拉的情况,是因为悬浮元素加入position:fixed样式之后,已经脱离布局,页面的高度不会把悬浮元素的高度计算在内.比如当前例子,浏览器的可视区域的高度为644px,内容

Android代码学习--点击事件的几种写法

由来:常规的写法参见<写一个apk>,每次点击按钮,按钮先查找文本框等元素,然后再操作,其实查找操作是很费时的操作,因此将该定义放到Activity的onCreate中:Oncreate只会执行一次,这样Activity一旦执行,就先创建好控件们了. 第二种方法:通过匿名内部类的方法:就是button.setOnClickListener(new OnClickListener(){ //实现OnClickListener接口 @Override public void onClick(Vie

公益图书馆-Contribute捐赠-代码学习

1.ContributeController.class.php 控制器 <?php /** * Created by PhpStorm. * User: lxd * Date: 14-7-27 * Time: 下午2:43 */ namespace Home\Controller; class ContributeController extends SyController{ /**@author lxd * @description 首页 */ public function index(

TP框架代码学习 学习记录 3.2.3

文件:think.class.php PHP提供register_shutdown_function()这个函数,能够在脚本终止前回调注册的函数,也就是当 PHP 程序执行完成后执行的函数.register_shutdown_function 执行机制是:PHP把要调用的函数调入内存.当页面所有PHP语句都执行完成时,再调用此 函数.注意,在这个时候从内存中调用,不是从PHP页面中调用,所以上面的例子不能使用相对路径,因为PHP已经当原来的页面不存在了.就没有什么相对路 径可言.注意:regis

Android 开源代码学习——NoBoringActionBar

代码功能 该示例工程实现了自定义ActionBar,可以使一个图片平滑过渡到ActionBar Icon的位置,并以ActionBar Icon的形式展现出来.而且还实现了背景图片的自动切换,缩放和平移.可以在展示用户资料等场景使用. 关键代码学习 2.1 NoBoringActionBarActivity.java setTitleAlpha(clamp(5.0F * ratio - 4.0F, 0.0F, 1.0F)); 注:这行代码是用来设置ActionBar Title 的透明度的,该方

极客标签:可能是目前最好的前端代码学习工具

英国著名作家萧伯纳有一句名言:"两个人交换了苹果,每个人手里还是只有一个苹果:但是两个人交换了思想,每个人就同时有了两个人的思想."这说的是知识的分享对于人类进步的重要意义.时间到了现代,技术进步带给人们更多样化的沟通方式.可是,当人们交换各种类型的知识的时候,却发现依然没那么容易. 绝大多数有学问的人都选择了出书:网络的普及也让各种各样的博客出现,之后则是微信公众号的天下:也有人选择了言传身教的现代版--录制讲学视频. 但以上的各种方式都不适合编程学习,特别是web设计方面的学习.你

Recurrent Neural Network Language Modeling Toolkit代码学习

Recurrent Neural Network Language Modeling Toolkit  工具使用点击打开链接 按照训练的进度学习代码: trainNet()中的结构: step1. learnVocabFromTrainFile() 统计训练文件中所有的单词信息,并对统计好的信息进行整理 涉及的数据结构: vocab_word ocab_hash *int 涉及的函数: addWordToVocab() 对于一个单词w,将其信息存入vocab_word结构的数组中,其结构下标为w

Keras版Faster-RCNN代码学习(IOU,RPN)1

最近开始使用Keras来做深度学习,发现模型搭建相较于MXnet, Caffe等确实比较方便,适合于新手练手,于是找来了目标检测经典的模型Faster-RCNN的keras代码来练练手,代码的主题部分转自知乎专栏Learning Machine,作者张潇捷,链接如下: keras版faster-rcnn算法详解(1.RPN计算) keras版faster-rcnn算法详解 (2.roi计算及其他) 我再对代码中loss的计算,config的设置等细节进行学习 Keras版Faster-RCNN代