Computer vision torch7 gnuplot包中的Bug?(ubuntu 16.04)

Computer vision torch7 gnuplot包中的Bug?(ubuntu 16.04),computer-vision,gnuplot,torch,Computer Vision,Gnuplot,Torch,gnuplot似乎正在将所有浮点值舍入为整数。打印线或曲面时,例如使用 我得到 而不是 正如所料,print(torch.sin(x):type())说张量实际上是一个torch.FloatTensor,所以我不知道在哪里可以进行舍入 我尝试了最新的torch7版本,并使用Luarock安装了gnuplot,但结果是一样的。我不认为问题出在gnuplot本身,因为例如,我可以从八度音阶使用它,没有任何问题。我终于发现了问题所在。默认情况下使用的区域设置是法语,因此浮点数使用逗号而不是点表示(例

gnuplot似乎正在将所有浮点值舍入为整数。打印线或曲面时,例如使用

我得到

而不是

正如所料,
print(torch.sin(x):type())
说张量实际上是一个
torch.FloatTensor
,所以我不知道在哪里可以进行舍入


我尝试了最新的torch7版本,并使用Luarock安装了gnuplot,但结果是一样的。我不认为问题出在gnuplot本身,因为例如,我可以从八度音阶使用它,没有任何问题。

我终于发现了问题所在。默认情况下使用的区域设置是法语,因此浮点数使用逗号而不是点表示(例如,1,2而不是1.2)。这似乎导致Gnuplot截断了数字(它丢弃了逗号后面的所有内容)。所以,解决办法就是

os.setlocale('C')

我对这个代码没有任何问题。你能打印出torch.sin(x)来看看这些值是否正确吗?这并不是真正的四舍五入,sin(-2*pi)应该是0而不是-1,idem表示sin(2*pi)不是1。是的,值是正确的。关于罪恶(x)的事情,你是绝对正确的,但这就是为什么我选择了圆形这个词,而不是天花板或地板。不过,我承认这也不是一个好选择。我不知道它是如何决定向更低或更高的值取整的,但从我所看到的(例如,通过观察训练错误的曲线图),它无法表示浮动值。我使用的粗俗技巧只是将我的值乘以一个非常大的因子,这样我就可以看到情节中发生了什么……这很奇怪。。。您的计算机上有什么版本的gnuplot(
gnuplot--version
)?如果您对自己的技术还不完全满意,您可以看看display package(),它提供了很好的函数来绘制曲线、缩放等…gnuplot 5.0 patchlevel 3。谢谢你的提示,这个包裹看起来是个不错的选择。
os.setlocale('C')