zoukankan      html  css  js  c++  java
  • Pytorch 神经网络模块之 Sparse Layers

    1. torch.nn.Embedding

       embedding 的主要目的是对稀疏特征进行降维。函数原型如下:

    """
    num_embeddings – 词典的大小
    embedding_dim – 嵌入向量的维度,即用多少维的向量来表示一个词
    padding_idx(optional) – 填充id,每次的句子长度可能并不一样,就需要用统一的数字填充,而这里就是指定这个数字
    max_norm – 
    norm_type – 
    scale_grad_by_freq – 
    sparse –
    """
    torch.nn.Embedding(num_embeddings, embedding_dim, padding_idx=None, max_norm=None, norm_type=2, scale_grad_by_freq=False, sparse=False)
    

       举个例子:

        import torch
    
        embedding = torch.nn.Embedding(10, 3)
        # 输入 input 是两个句子,每个句子都是由四个字组成的,使用每个字的索引来表示,
        # 于是使用 nn.Embedding 对输入进行编码,每个字都会编码成长度为 3 的向量。
        input = torch.LongTensor([[1, 2, 4, 5], [4, 3, 2, 9]])
        print(embedding(input))
    
        """
        tensor([[[ 0.2917, -1.5941, -0.4041],
                 [ 1.9426, -0.3626,  0.2998],
                 [ 1.5753,  1.2323, -0.4405],
                 [-0.6988, -0.1813, -0.8102]],
    
                [[ 1.5753,  1.2323, -0.4405],
                 [ 0.3580, -0.4253,  0.6412],
                 [ 1.9426, -0.3626,  0.2998],
                 [-0.9070,  0.2207,  2.1904]]], grad_fn=<EmbeddingBackward>)
        """
    
  • 相关阅读:
    Jquery同步载入数据
    fireEvent方法
    条件判断问题,不太清楚有什么区别!
    Request.QueryString,Request.Form与JavaScript中模态窗口传参
    SQL求百分比
    event.srcElement
    判断输入信息为数值类型
    SQL 表变量,临时表
    读写二进制文件
    串口通信
  • 原文地址:https://www.cnblogs.com/yanghh/p/14213957.html
Copyright © 2011-2022 走看看