2017-05-26 14 views
0

gnuplotはすべての浮動値を整数に丸めているようです。 documentationtorch7 gnuplotパッケージのバグ? (ubuntu 16.04)

x=torch.linspace(-2*math.pi,2*math.pi) 
gnuplot.plot(torch.sin(x)) 

からこの2行で、例えばを線や面をプロットすると、私が代わりに enter image description here

enter image description here

を得る予想通り、print(torch.sin(x):type())はテンソルが実際にtorch.FloatTensorであることを述べています私は、その丸めがどこで起こっているのか理解していません。

私は最新のtorch7バージョンを試して、lurocksを使ってgnuplotをインストールしましたが、結果は同じでした。私は問題がgnuplot自体ではないと思っています。たとえば、オクターブから問題なく使用できます。

+0

私はこのコードに問題はありません。値が正しいかどうか 'torch.sin(x)'を表示できますか? – fonfonx

+0

これは本当に四捨五入ではありません。sin(-2 * pi)は-1でなく、sin(2 * pi)のidemは1ではありません。 – fonfonx

+0

はい値は正しいです。あなたは罪(x)のことについて絶対に正しいですが、それが私が言葉を選んだ理由です。私はこれも良い選択ではなかったと認めます。私はそれがより低いまたはより高い値に向かってどのようにラウンドすることを決めるのか分からないが(例えば、トレーニングエラーのプロットを観察することによって)私が見たことから、それは浮動値を表現することができない。私が使用するグロスハックは、私の価値を非常に大きな要素で乗算することです。プロットで何が起こるかはわかります... – Ash

答えて

0

私はついにこの問題が何かを知りました。デフォルトで使用されていたロケールはフランス語だったので、浮動小数点数はポイントの代わりにカンマを使用して表現されました(たとえば、1.2ではなく 1,2)。これにより、Gnuplotは数字を切り捨てるようになりました(コンマの後にすべてを破棄しました)。だから、解決策はただです