打了小松鼠 2020-03-26 13:16 采纳率: 0%
浏览 501

pytorch 中 multinomial 函数在无放回抽样时,可以抽取到重复的值。

In[125]: tc.multinomial(tc.arange(0,10).float(),10,replacement=False)
Out[125]: tensor([9, 7, 6, 5, 8, 4, 3, 2, 1, 2])

返回的值中为2下标位置出现了两次。 在console中出现,但是在ide中run好像没有这个问题。

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-07-25 17:06
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题分析: 根据给出的代码以及输出结果,可以看出在使用`tc.multinomial()`函数时,出现了重复的值。这可能是由于随机性导致的,并且在console中运行时概率更高。 解决方案:
    1. 可以尝试设置随机种子来控制随机性,确保在不同环境下运行的结果一致。
    2. 可以增加程序的稳定性,检查输出结果是否正确,并对重复值做特殊处理。 示例代码:
    import torch as tc
    # 设置随机种子
    tc.manual_seed(2022)
    # 使用tc.multinomial()函数生成随机数
    result = tc.multinomial(tc.arange(0,10).float(), 10, replacement=False)
    # 输出结果
    print(result)
    

    在上述示例代码中,首先通过tc.manual_seed()函数设置了随机种子为2022,确保在不同环境下运行的结果一致。然后使用tc.multinomial()函数生成随机数,并输出结果。运行代码后查看输出结果,是否仍然存在重复值。

    评论

报告相同问题?

悬赏问题

  • ¥15 学习Python如何找兼职
  • ¥15 python结合Matlab仿真忆阻器
  • ¥35 有人会注册whatsaop协议号吗?
  • ¥15 lead dbs 无法导入影像数据
  • ¥15 多目标MPA算法优化编程实现
  • ¥15 反激PWM控制芯片调研
  • ¥15 Python for loop减少运行时间
  • ¥15 fluent模拟物质浓度udf
  • ¥15 Collection contains no element matching the predicate
  • ¥20 冻品电商平台的搜索是怎么实现的