torch7 gnuplot 包中的错误? (ubuntu 16.04)
Bug in torch7 gnuplot package? (ubuntu 16.04)
似乎 gnuplot 正在将所有浮点值四舍五入为整数。绘制线条或曲面时,例如 和 documentation
中的这两条线
x=torch.linspace(-2*math.pi,2*math.pi)
gnuplot.plot(torch.sin(x))
我得到
而不是
不出所料,print(torch.sin(x):type())
说张量确实是 torch.FloatTensor
,所以我不明白舍入可能发生在哪里。
我试了下最新的torch7版本,用luarocks安装了gnuplot,结果还是一样。我不认为问题出在 gnuplot 本身,因为例如,我可以毫无问题地从 Octave 使用它。
我终于找到问题所在了。默认使用的语言环境是法语,因此浮点数使用逗号而不是点表示(例如 1,2 而不是 1.2)。这似乎导致 Gnuplot 截断了数字(它丢弃了逗号后的所有内容)。所以,解决方案就是
os.setlocale('C')
似乎 gnuplot 正在将所有浮点值四舍五入为整数。绘制线条或曲面时,例如 和 documentation
中的这两条线x=torch.linspace(-2*math.pi,2*math.pi)
gnuplot.plot(torch.sin(x))
我得到
而不是
不出所料,print(torch.sin(x):type())
说张量确实是 torch.FloatTensor
,所以我不明白舍入可能发生在哪里。
我试了下最新的torch7版本,用luarocks安装了gnuplot,结果还是一样。我不认为问题出在 gnuplot 本身,因为例如,我可以毫无问题地从 Octave 使用它。
我终于找到问题所在了。默认使用的语言环境是法语,因此浮点数使用逗号而不是点表示(例如 1,2 而不是 1.2)。这似乎导致 Gnuplot 截断了数字(它丢弃了逗号后的所有内容)。所以,解决方案就是
os.setlocale('C')