Norcor 2021-04-24 10:32 采纳率: 71.4%
浏览 1054
已结题

机器学习过程中遇到了 data[0,] 这样的结构,求python/pytorch大佬解释一下

        if teacher_forcing_ratio == None:
            teacher_forcing_ratio = self.teacher_forcing_ratio
        is_teacher = random.random() < teacher_forcing_ratio
        output = Variable(trg.data[0,] if is_teacher else outputs[0,]).cuda()
        #最后一行出现了两次的这个 [x,] 的结构

python和机器学习都是新手上路,好像在python一般的数组和列表内都见到这种用法

附:trg.data的type好像是torch.tensor(张量什么的小白表示一脸懵)

  • 写回答

3条回答 默认 最新

  • 天元浪子 Python领域优质创作者 2021-04-24 14:18
    关注

    对于NumPy多维数组data而言,data[0,],和data[0]、data[0,...]、data[0,:]一样,都表示数组0轴的第一个元素。比如,我们用一个三维数组data表示层、行、列的结构,那data[0,]、data[0]、data[0,...]、data[0,:]都表示第0层的行列,即一个二维数组。

    >>> import numpy as np
    >>> data = np.arange(24).reshape(2,3,4)
    >>> data[0]
    array([[ 0,  1,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    >>> data[0,]
    array([[ 0,  1,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    >>> data[0,...]
    array([[ 0,  1,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    >>> data[0,:]
    array([[ 0,  1,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    Norcor 2021-04-24 14:20

    这样啊,理解了。谢谢大佬!

    回复
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部