私はこれを2時間以上解決しようとしてきました。私のスクリプトとコンソールで出力が異なる
私はいくつかのデバッグを置くスクリプトを書かれているprint
sの私は、この出力持って、それを起動
...
print(array)
print(m)
print(np.dot(m.ravel(),array.ravel()))
...
:私はPythonのコンソールでこの現象を再現しようとすると
$ ./test.py
[[ 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0]
[ 0 0 0 20303 20303 20303 20303]
[20303 20303 20303 20303 20303 20303 20303]
[20303 20303 20303 20303 20303 20303 20303]
[20303 20303 20303 20303 20303 20303 20303]]
[[False False False False False False False]
[False False False False False False False]
[False False False False False False False]
[False False False False True False False]
[False False True False True False False]
[False False False True False False False]
[False False False False False False False]]
15676
をドットプロダクトとは異なる結果が表示されます。
$ /usr/bin/python3
Python 3.4.2 (default, Oct 8 2014, 10:45:20)
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> array=np.array([[ 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 20303, 20303, 20303, 20303],
[20303, 20303, 20303, 20303, 20303, 20303, 20303],
[20303, 20303, 20303, 20303, 20303, 20303, 20303],
[20303, 20303, 20303, 20303, 20303, 20303, 20303]])
>>>
>>> m=np.array([[False, False, False, False, False, False, False],
[False, False, False, False, False, False, False],
[False, False, False, False, False, False, False],
[False, False, False, False, True, False, False],
[False, False, True, False, True, False, False],
[False, False, False, True, False, False, False],
[False, False, False, False, False, False, False]])
>>> np.dot(m.ravel(),array.ravel())
81212
何が原因でしょうか?ちなみに、81212
は私がここで期待している結果であり、実際にスクリプトで何が起こっているのか分かりません。
'/ usr/bin/python3 test.py'を実行してみてください。 –
Pythonインタプリタ 'test.py'はどのようなもので動作していますか? 'test.py'の[shebang](https://en.wikipedia.org/wiki/Shebang_(Unix))とは何ですか? – Finwood
'#!/ usr/bin/python3' :( – nicoco