如何在torch7中处理HEX?

我正在使用async-tcp客户端来连接到服务器并接收数据(数组)。

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

如果数据类型为HEX,我可以获取数据但是全部是乱码。

似乎编码出了问题。


如果数据类型不是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)
点赞
用户1442917
用户1442917

如果在预先知道格式的情况下,可以使用“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.

2015-12-10 03:58:10