質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3504閲覧

Python3.7.5でNumpyを使おうとするとNotImplementedErrorがでる

hamster-m

総合スコア2

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2021/05/02 08:40

編集2021/05/02 13:58

前提・実現したいこと

オープンソースのニューラルネットワークのコード(Variational Integrator Networks)でnumpyなどを用いたコードを回しています.
requirements.txtを参考に必要なパッケージをインストールし,ファイルを実行しようとしたところ,numpyのgetattr関数でNotImplementedErrorが出てしまいました.
初学者ゆえ不足等あるかと思いますが,アドバイスいただけると大変助かります.

発生している問題・エラーメッセージ

(base) ユーザー名@MacBook-Pro Variational_Integrator_Networks %python run_exp.py root_dir model_name system_name observations num_train_traj num_train_steps seed Traceback (most recent call last): File “run_exp.py”, line 4, in <module> import tensorflow as tf File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/tensorflow/__init__.py”, line 101, in <module> from tensorflow_core import * File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/tensorflow_core/__init__.py”, line 40, in <module> from tensorflow.python.tools import module_util as _module_util File “<frozen importlib._bootstrap>“, line 983, in _find_and_load File “<frozen importlib._bootstrap>“, line 959, in _find_and_load_unlocked File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/tensorflow/__init__.py”, line 50, in __getattr__ module = self._load() File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/tensorflow/__init__.py”, line 44, in _load module = _importlib.import_module(self.__name__) File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/importlib/__init__.py”, line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/tensorflow_core/python/__init__.py”, line 85, in <module> from tensorflow.python.ops.standard_ops import * File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/tensorflow_core/python/ops/standard_ops.py”, line 48, in <module> from tensorflow.python.ops.special_math_ops import * File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/tensorflow_core/python/ops/special_math_ops.py”, line 30, in <module> import opt_einsum File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/opt_einsum/__init__.py”, line 9, in <module> from .contract import contract, contract_path, contract_expression File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/opt_einsum/contract.py”, line 10, in <module> from . import backends, blas, helpers, parser, paths, sharing File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/opt_einsum/backends/__init__.py”, line 7, in <module> from .dispatch import (get_func, has_einsum, has_tensordot, build_expression, evaluate_constants, has_backend) File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/opt_einsum/backends/dispatch.py”, line 12, in <module> from . import jax as _jax File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/opt_einsum/backends/jax.py”, line 12, in <module> import jax File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/jax/__init__.py”, line 20, in <module> from jax import nn File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/jax/nn/__init__.py”, line 17, in <module> from . import initializers File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/jax/nn/initializers.py”, line 28, in <module> from jax import random File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/jax/random.py”, line 33, in <module> from . import numpy as np File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/jax/numpy/__init__.py”, line 16, in <module> from .lax_numpy import * File “<frozen importlib._bootstrap>“, line 1019, in _handle_fromlist File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/jax/numpy/lax_numpy.py”, line 3211, in wrapped raise NotImplementedError(msg.format(fun)) NotImplementedError: Numpy function <function __getattr__ at 0x1102c4170> not yet implemented

該当のソースコード

python

1run_exp.pyの中身は以下の通りです.文字数制限の関係から関係があると思われる冒頭部分のみ記述させていただきます. 2 3 4import sys 5import os 6 7import tensorflow as tf 8import tensorflow.keras as tfk 9import numpy as np 10 11from tensorflow_probability import distributions as tfd 12 13import gin 14import build_utils 15import plot_utils 16 17import matplotlib.pyplot as plt 18import seaborn as sns 19 20COLORS = list(sns.color_palette()) 21MODEL_COLORS = { 22 "ResNet": COLORS[0], 23 "VIN_VV": COLORS[1], 24 "VIN_SV": COLORS[2], 25 "VIN_SO2": COLORS[3] 26} 27 28 29

試したこと

エラー文で検索したところ,python3.7とnumpy1.18でjaxをインポートしようとすると類似のエラーが出ていることを発見しました→ただこれに関しては,①今回はjaxを使用していないこと②このイシューに関しては修正がされていることから関係ないような気もします.
イメージ説明

Pythonの公式ドキュメントでNotImprementedErrorの具体的な内容について参照しましたが,具体的な対処法がわからず途方に暮れています.

exception NotImplementedError This exception is derived from RuntimeError. In user defined base classes, abstract methods should raise this exception when they require derived classes to override the method, or while the class is being developed to indicate that the real implementation still needs to be added. Note It should not be used to indicate that an operator or method is not meant to be supported at all – in that case either leave the operator / method undefined or, if a subclass, set it to None. Note NotImplementedError and NotImplemented are not interchangeable, even though they have similar names and purposes. See NotImplemented for details on when to use it.

またanacondaをpipを併用していたことに気づいたため,anacondaをアンインストールしました
参考にしたページ


2021/05/02 22:43追記

pip show jax の結果を、質問を編集して貼りましょう

今回はjaxを使用していない エラーはjaxから出てますよ > File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/jax/numpy/lax_numpy.py”, line 3211, in wrapped

このイシューに関しては修正がされている 修正されるよりも前のバージョンを使っている、ということはありませんでしょうか? Jan 2020頃(jax 0.1.56~58あたり)で修正されてるようですが https://github.com/google/jax/pull/1931/files https://pypi.org/project/jax/#history

上記の通りご指摘をいただいたためjaxのバージョンを確認したところ,0.1.55(修正前)のバージョンを使っていたため,取り急ぎ0.1.60にアップデートしました.

pip show jaxの出力結果 Name: jax Version: 0.1.55 Summary: Differentiate, compile, and transform Numpy code. Home-page: https://github.com/google/jax Author: JAX team Author-email: jax-dev@google.com License: Apache-2.0 Location: /Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages Requires: numpy, six, absl-py, opt-einsum, fastcache Required-by:

拙文で申し訳ありませんが,些細なことでも構いませんのでアドバイスいただけると大変助かります.
よろしくおねがいいたします.

補足情報(FW/ツールのバージョンなど)

0S: MacOS Catalina ver10.15.7
pip 21.0.1
Python 3.7.5
numpy 1.18.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2021/05/02 10:01 編集

pip show jax の結果を、質問を編集して貼りましょう
jbpb0

2021/05/02 12:24

> 今回はjaxを使用していない エラーはjaxから出てますよ > File “/Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages/jax/numpy/lax_numpy.py”, line 3211, in wrapped
hamster-m

2021/05/02 13:40

jaxに関するご指摘ありがとうございます.とてもためになります...! ご指摘の通りjaxのバージョンが修正前のものであったため,各種パッケージの互換性調査の前に,取り急ぎjaxを修正後の0.1.60にアップデートしました. また,上記に関して質問に追記しました.
guest

回答1

0

ベストアンサー

こんにちは。

おそらくなのですが、tensorflowの互換性のあるnumpyを入れていないことが原因だと考えられます。

tensorflowのバージョンを調べて、互換性のあるnumpyを再度pipで入れ直してもらって確認できますでしょうか?

こちらの記事が参考になります。
numpy1.15に対応するtensorflowのバージョン

投稿2021/05/02 08:53

編集2021/05/02 09:02
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hamster-m

2021/05/02 15:00

すばやいご回答ありがとうございます.とても助かります. tensorflow=>2.1.0に対して互換性のあるnumpyについて,tensorflowのgithubのイシューやhttps://github.com/tensorflow/tensorflow/blob/master/RELEASE.mdを参考に調べたのですが,十分にリサーチできずインストールすべきバージョンを見つけることができませんでした...しかし,取り急ぎnumpyを最新バージョンに,またjaxを0.1.60にアップデートしたところ無事解決することができました.ありがとうございました. pip show numpy Name: numpy Version: 1.20.2 Location: /Users/ユーザー名/.pyenv/versions/3.7.5/lib/python3.7/site-packages
退会済みユーザー

退会済みユーザー

2021/05/02 20:13

解決できてよかったです〜。 また何か困ったことがありましたら、ご相談ください!
hamster-m

2021/05/03 05:22

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問