【问题标题】:quantization vector with numpy/pytorch带有 numpy/pytorch 的量化向量
【发布时间】:2021-03-02 00:26:26
【问题描述】:

我已将量化值创建为:{0.0, 0.5, 1.0},并希望根据该集合对向量进行量化。例如,给定向量[0.1, 0.1, 0.9, 0.8, 0.6, 0.6] 将被转移到[0.0, 0.0, 1.0, 1.0, 0.5, 0.5]

请指导我以最快的方式使用 python/numpy/pytorch。非常感谢!

【问题讨论】:

    标签: python numpy pytorch quantization


    【解决方案1】:

    使用map()lambda()

    您可以使用 round(x * 2) / 2 获得最接近 0.5 的四舍五入

    a = [0.1, 0.1, 0.9, 0.8, 0.6, 0.6]
    
    list(map(lambda x: round(x * 2) / 2, a))
    

    输出:

    [0.0, 0.0, 1.0, 1.0, 0.5, 0.5]
    

    【讨论】:

    • 非常感谢。它适用于我的情况。其实我想做一个动态范围的base,我的意思不仅仅是0.5的step。例如,步长为 0.1,我们的基数为 {0.0, 0.1, 0.2,..., 0.9, 1.0}(甚至更高的密度,更小的步长)。我相信我可以根据您的回答解决问题。
    • 在这种情况下,只需使用 round() round(n, 1) 其中 n 是您要传递的浮点数。
    • 哦,对了!再次感谢您的帮助。
    猜你喜欢
    • 2021-05-01
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    • 2021-04-24
    • 2020-04-23
    • 2015-07-27
    • 2017-03-28
    • 1970-01-01
    相关资源
    最近更新 更多