前提・実現したいこと
Python初心者です。kerasを用いて、MNIST内の数字を学習用データセットとテスト用のデータセットに分けたいのですがAttribute Errorが出てきてしまいました。import名が悪いのかと変えたりしましたが達成できず、どうコードを変えれば良いのか途方に暮れています。どうしてもつまづいてしまったので助けてください。
発生している問題・エラーメッセージ
AttributeError Traceback (most recent call last) <ipython-input-4-ae214633e2e6> in <module> ----> 1 from keras.datasets import mnist 2 (x_train, y_train), (x_test, y_test) = mnist.load_data() /usr/local/lib/python3.7/site-packages/keras/__init__.py in <module> 1 from __future__ import absolute_import 2 ----> 3 from . import utils 4 from . import activations 5 from . import applications /usr/local/lib/python3.7/site-packages/keras/utils/__init__.py in <module> 3 from . import generic_utils 4 from . import data_utils ----> 5 from . import io_utils 6 from . import conv_utils 7 /usr/local/lib/python3.7/site-packages/keras/utils/io_utils.py in <module> 11 import six 12 try: ---> 13 import h5py 14 HDF5_OBJECT_HEADER_LIMIT = 64512 15 except ImportError: /usr/local/lib/python3.7/site-packages/h5py/__init__.py in <module> 34 _errors.silence_errors() 35 ---> 36 from ._conv import register_converters as _register_converters 37 _register_converters() 38 h5py/h5t.pxd in init h5py._conv() h5py/numpy.pxd in init h5py.h5t() AttributeError: module 'numpy' has no attribute 'dtype'
該当のソースコード
python
1from keras.datasets import mnist 2(x_train, y_train), (x_test, y_test) = mnist.load_data()
試したこと
import名とファイル名が被らないようにした。tensorflowとnumpyを改めてインストールし直した。
補足情報(FW/ツールのバージョンなど)
numpy 1.15.4
tensor flow 1.8.0
こちらで実行しましたが、エラーは出ませんでした。
> import名とファイル名が被らないようにした。
念のため確認ですが、numpy.py 等のファイルが同じディレクトリにあったりしないですかね?
どうやってPython3.7にTensorflowをインストールしたんですか?
同じディレクトリにnumpy.py等のファイルは存在しないように気をつけていたので、その可能性もないですね...
pip3 install tensorflowでinstallしました
numpy 自体は使えるのでしょうか?
import numpy
print(numpy.dtype) # <class 'numpy.dtype'>
そうですね、今までJupyter Notebookでnumpyは正常に使えていたのですが、今回Errorだったので再installをしました。それでも上記と同じErrorでしたね。
すいません。ちょっと状況がよくわからないのですが
結局、その mnist をロードするコードのエラーが出る環境で numpy は使えるのですか? (import だけでなく numpy の関数が使えるかどうか)
このmnistをロードする環境では今はnumpyを使えません...
では Keras 等は関係なく、numpy がつかえないというのが原因ですね。
でも import はできるのですよね?以下の __file__ はどうなってますか?
import numpy
print(numpy.__file__)
おっしゃる通りでした...実際上記のコードはnoneで出力されています。
import numpy は通るのであれば、numpy.__file__ が None であるということは考えづらいのですが、、
とりあえず numpy を再インストールしてみてそれでも直らないようであれば、Python 環境が壊れてしまったのかもしれませんね
python3.7にpip install tensorflowが通るとは思えないのですが https://pypi.org/project/tensorflow/#files
python -V と python -c 'import sys;print(sys.path)' と pip3 -V の結果があるといいかと思います
あなたの回答
tips
プレビュー