【问题标题】:how to tackle HEX in torch7?如何在torch7中处理HEX?
【发布时间】:2015-12-10 16:20:34
【问题描述】:

我正在使用async-tcp client 连接到服务器并接收数据(一个数组)。

client.ondata(function(data)
   print('received:',data)
end)

如果数据类型是HEX,我可以得到数据,但都是乱码。

好像编码有问题。


如果数据类型是note HEX,我也可以获取数据,但它是字符串。

我不知道将“数组字符串”转换为张量。

'0.001 0.002 0.003' -> torch.Tensor({{0.001, 0.002, 0.003}}) ??

我该怎么办?

谢谢

================================================ ===

编辑

string.byte

client.ondata(function(data)
      print('received number:',#data)
      for i = 1, #data do
        print('received:', string.byte(data, i))
      end
end)

【问题讨论】:

    标签: lua torch


    【解决方案1】:

    如果您提前知道格式,可以使用match 函数从字符串中获取值列表,然后您可以将其转换为表格和张量:

    local str = "0.001 0.002 0.003"
    torch.Tensor({{str:match("(%d+%.%d*)%s+(%d+%.%d*)%s+(%d+%.%d*)")}})
    

    这会返回:

    0.001 *
      1.0000  2.0000  3.0000
    [torch.DoubleTensor of size 1x3]
    

    如果数字是十六进制格式,可以使用tonumber函数进行转换,例如tonumber("0x12") == 18

    【讨论】:

    • 感谢您的建议!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 2012-06-02
    • 2013-09-17
    • 2015-07-28
    • 2018-08-30
    • 1970-01-01
    相关资源
    最近更新 更多