Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >什么是零充气层,如何在火把上实现?

什么是零充气层,如何在火把上实现?
EN

Stack Overflow用户
提问于 2019-05-15 09:04:19
回答 1查看 495关注 0票数 2

我正在为单细胞RNA-Seq数据的降维构建一个变分自动编码器.我设法用传统的自动编码器绘制了清晰的集群,但我的VAE没有工作。损失减少,但停止在5左右。当我想象的潜在空间,我只是得到一个随机点分散,没有学习模式什么。

我相信问题是我还没有实现紫层。原因是我甚至不明白它的目的,而且数学感觉很不直观。

VASC是一种深变分的自动编码器,它能够捕获非线性变化,并自动学习输入数据的分层表示。其目的之一是简化scRNA-seq数据集的可视化。VASC主要分为三个部分:(1)编码器网络;(2)译码器网络;(3)零充气层。VASC的创建者在这里解释了这一点,不过这里是

  1. 紫层背后的解释是什么?
  2. 如何在我的解码器组件之后实现它?
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class VAE(nn.Module):
    def __init__(self):
        super(VAE, self).__init__()

        self.n_components = 6

        self.fc0 = nn.Dropout(p=0.5)
        # For probabilistic encoder
        self.fc1 = nn.Linear(13714, 128)
        self.fc2 = nn.Linear(128, 32)
        self.fc3 = nn.Linear(32, 16)
        self.fc41 = nn.Linear(16, self.n_components) 
        self.fc42 = nn.Linear(16, self.n_components) 

        # For probabilistic decoder
        self.fc5 = nn.Linear(self.n_components, 16)
        self.fc6 = nn.Linear(16, 32)
        self.fc7 = nn.Linear(32, 128)
        self.fc8 = nn.Linear(128, 13714)

    def encode(self, x):
        h0 = self.fc0(x) #dropout
        h1 = self.fc1(h0)
        h2 = F.relu(self.fc2(h1))
        h3 = F.relu(self.fc3(h2))

        return self.fc41(h3), F.softplus(self.fc42(h3))

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

    def decode(self, z):
        h5 = F.relu(self.fc5(z))
        h6 = F.relu(self.fc6(h5))
        h7 = F.relu(self.fc7(h6))
        h8 = torch.sigmoid(self.fc8(h7)) #output layer

        return h8

    def forward(self, x):
        mu, logvar = self.encode(x.view(-1, 13714))
        z = self.reparameterize(mu, logvar)
        return self.decode(z), mu, logvar
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
model = VAE().to(device)
optimizer = optim.RMSprop(model.parameters(), lr=0.001)

def loss_function(recon_x, x, mu, logvar):
    BCE = F.binary_cross_entropy(recon_x, x.view(-1, 13714), reduction="mean")
    KLD = -0.5 * torch.sum(1 + logvar - mu.pow(2) - logvar.exp())

    return BCE + 0.1*KLD, BCE, KLD
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
log_interval = 32

for epoch in range(80):
    #model.train()
    running_loss = 0

    for batch_idx, (data, _) in enumerate(train_loader):
        data = data.to(device)
        optimizer.zero_grad()
        recon_batch, mu, logvar = model(data.float())
        loss, bce, kld = loss_function(recon_batch, data.float(), mu, logvar)
        loss.backward()
        running_loss += loss.item()
        optimizer.step()
        if batch_idx % log_interval == 0:
            print('Train Epoch: {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}\tBCE: {:.6f}\tKLD: {:.6f}'.format(
                epoch, batch_idx * len(data), len(train_loader.dataset),
                100. * batch_idx / len(train_loader),
                loss.item(), bce.item(), kld.item()))

    print('====> Epoch: {} Loss: {:.4f}'.format(
          epoch, running_loss))

就像我说过的,潜伏的空间什么也学不到。我认为问题在于缺乏子层。如果没有,请你帮我找出问题,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-06-17 01:35:20

我还没有完全读到你的问题,但是,零膨胀分布是一些概率(例如,q)返回0的分布,对于概率1-q,则是从你想要的分布中返回一个样本。例如,零膨胀负二项分布是一种负二项分布,通过它的抽样,你得到了带概率q的零,从负二项分布得到的抽样数给出了概率1-q。我认为你可以用pyro.distributions.zero_inflated来实现它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56154384

复制
相关文章
python querystring encode_querystring
const querystring = require(‘querystring’);
全栈程序员站长
2022/11/01
6800
如何获取云API密钥?
云 API 是腾讯云开放生态的基石。通过云 API,只需少量的代码即可快速操作云产品;在熟练的情况下,使用云 API 完成一些频繁调用的功能可以极大提高效率;除此之外,通过 API 可以组合功能,实现更高级的功能,易于自动化, 易于远程调用, 兼容性强,对系统要求低。以下是具体操作步骤:
腾讯云@移动安全
2019/01/18
82.6K42
如何获取云API密钥?
如何使用 Python 隐藏 API 密钥
博客首发:https://bornforthis.cn/posts/19.html
AI悦创
2022/06/21
2.2K0
如何使用 Python 隐藏 API 密钥
微信商户号 API 密钥、API 证书配置
只是使用商户号的支付功能可以不配置 API 证书,因为 API 证书只有在一些敏感操作中才用到。比如: 企业付款到零钱、公众号中的现金红包、商户号订单退款,也可以理解为商户号往外出钱的操作
很酷的站长
2022/12/28
6.8K0
微信商户号 API 密钥、API 证书配置
querystring模块详解
parse方法还有三个可选参数,分别是分隔符(默认为&),赋值符(默认为=),以及配置对象,配置对象又有两个可选参数,分别是````maxKeys(最多能解析多少个键值对)和decodeURIComponent(用于解码非utf-8编码字符串,默认为querystring.unescape```)。 例如:
用户2936342
2018/08/27
1.1K0
打印列表从尾部到头部
每一组測试案例包括多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。
全栈程序员站长
2022/07/06
5190
aiohttp 异步http请求-9.ClientSession自定义请求头部
前言 ClientSession是所有客户端 API 操作的核心和主要入口点。会话包含 cookie 存储和连接池,因此 cookie 和连接在同一会话发送的 HTTP 请求之间共享。 自定义请求头部 如果您需要将 HTTP 标头添加到请求中,请将它们传递给 headers 参数。如在请求头部添加"Content-Type": "application/json" headers = { "Content-Type": "application/json" } 完整代码: imp
上海-悠悠
2022/04/27
2.3K0
NodeJS模块研究 - querystring
querystring 是专门用来解析和格式化 URL 的查询字符串 URL 的工具。
心谭博客
2020/04/21
7520
基于Powershell 实现腾讯云 API 调用
虽然腾讯云已经提供了支持多种语言的 SDK,使用起来也非常方便,但是某些环境中没有相关的运行环境使用起来往往带来一些环境准备和合规的成本。PowerShell 作为Windows环境普遍存在脚本环境,如果能够顺利运行云相关API将会非常方便。
用户8856568
2023/01/06
3.2K1
支持QueryString的SiteMapProvider
asp.net 2.0的XmlSiteMapProvider不支持页面的QueryString,下面的代码就是在SiteMapNode上增加了一个属性reliantOn,用来支持QueryString参数
张善友
2022/03/28
3090
通过GiHub 查找 API 密钥、令牌和密码
关键词: Passwords api_key “api keys” authorization_bearer: oauth auth authentication client_secret api_token: “api token” client_id password user_password user_pass passcode client_secret secret password hash OTP user auth
Khan安全团队
2022/05/17
1.1K0
通过GiHub 查找 API 密钥、令牌和密码
微信开发笔记
自动触发服务器脚本,自动打包,更新 1.把github上的项目克隆到本地 2.初始化项目,用node.js搭建环境,是已经过时的项目了 3.安装模块 4.进入微信开发者平台 https://open.weixin.qq.com/ 5.g82.jscook.cn  怎么保存啊? 6.搭建服务? 执行node.js,访问 看端口监听好了没有:在谷歌里 在static里面写一个html静态文件:helloword; 文件是怎样访问到的? 把文件映射到接口中 cat 来查看文件,要是没有,就创建一个 Svon(5
王小婷
2018/06/04
8120
php无法获取到http请求自定义头部问题
而实际开发过程中,可能因为不清楚这个原因而使用_作连接符导致无法获取到自定义的头部。
槽痞
2020/06/23
1.3K0
PHP模拟发送POST请求之一、HTTP协议头部解析
该文介绍了如何通过PHP和JavaScript实现基本的URL伪装,包括处理GET请求和模拟POST请求。通过伪装,可以隐藏请求的URL,绕过一些限制,实现某些绕过登录限制的功能。
枕边书
2018/01/04
1.9K0
腾讯云 API 最佳实践:保护你的密钥
使用腾讯云 API 时,你需要用密钥来签名你的 API 请求。腾讯云接收到你的请求后,会比对你的签名串和实际请求参数。
zqfan
2018/07/18
15.6K2
前端 api 请求缓存方案
来源 | https://github.com/wsafight/personBlog/issues/2
winty
2020/11/06
1.1K0
前端 api 请求缓存方案
API & HTTP 请求调试:Postman
Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试。
跟着阿笨一起玩NET
2018/09/20
1.2K0
API & HTTP 请求调试:Postman
点击加载更多

相似问题

如何在请求头部添加API密钥?

169

如何在python请求头部中发送API密钥?

231

API密钥必须作为API-Key头部在每个请求中传递

10

AJAX如何在头部传递api密钥

22

向API (Wrike)请求发送头部

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文