ゼロから作るDeep Learningで二次関数を出力する簡単なサンプル。
import numpy as np
import matplotlib.pylab as plt
def function_1(x):
return 0.01 * x ** 2 + 0.1 * x
x = np.arange(0.0, 20.0, 0.1)
y = function_1(x)
plt.xlabel("x")
plt.ylabel("y")
plt.plot(x, y)
plt.show()
実行するとこのようなエラーが発生してしまいました。
Traceback (most recent call last):
File "C:\Users\Tono\Documents\Python\DeepLearningFromZero\numbers.py", line 1, in
import numpy as np
File "C:\Users\Tono\Anaconda3\lib\site-packages\numpy\__init__.py", line 180, in
from . import add_newdocs
File "C:\Users\Tono\Anaconda3\lib\site-packages\numpy\add_newdocs.py", line 13, in
from numpy.lib import add_newdoc
File "C:\Users\Tono\Anaconda3\lib\site-packages\numpy\lib\__init__.py", line 8, in
from .type_check import *
File "C:\Users\Tono\Anaconda3\lib\site-packages\numpy\lib\type_check.py", line 11, in
import numpy.core.numeric as _nx
File "C:\Users\Tono\Anaconda3\lib\site-packages\numpy\core\__init__.py", line 22, in
from . import _internal # for freeze programs
File "C:\Users\Tono\Anaconda3\lib\site-packages\numpy\core\_internal.py", line 15, in
from .numerictypes import object_
File "C:\Users\Tono\Anaconda3\lib\site-packages\numpy\core\numerictypes.py", line 87, in
import numbers
File "C:\Users\Tono\Documents\Python\DeepLearningFromZero\numbers.py", line 2, in
import matplotlib.pylab as plt
File "C:\Users\Tono\Anaconda3\lib\site-packages\matplotlib\__init__.py", line 122, in
from matplotlib.cbook import is_string_like, mplDeprecation, dedent, get_label
File "C:\Users\Tono\Anaconda3\lib\site-packages\matplotlib\cbook.py", line 34, in
import numpy.ma as ma
File "C:\Users\Tono\Anaconda3\lib\site-packages\numpy\ma\__init__.py", line 44, in
from . import core
File "C:\Users\Tono\Anaconda3\lib\site-packages\numpy\ma\core.py", line 30, in
import numpy.core.umath as umath
AttributeError: module 'numpy' has no attribute 'core'
しかしIntelliJで実行すると起きるけど、コンソールで入れていくと起きないんです。
IntelliJがバグってるんじゃないかと色々探ってしまいましたが、
Tracebackをよく見てみれば一目瞭然。
モジュール名につけたnumbers.pyという名前が被っていたというだけでした。
モジュール名を変更したら普通に動きました。
名前は適当につけるにしても他のところで使われていなさそうなものを選ばないといけないですね。
コメント