스택큐힙리스트

"Synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'." TensorFlow에서 발생한 문제입니다. 본문

카테고리 없음

"Synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'." TensorFlow에서 발생한 문제입니다.

스택큐힙리스트 2024. 1. 9. 18:57
반응형

TensorFlow 1.10.1을 설치했지만, TensorFlow를 가져오려고 할 때 TensorFlow 버전 1.10.0이 필요하다는 메시지가 표시되었습니다. 그래서 해당 버전을 설치했고, 이제 다음과 같은 경고가 발생합니다:

>>> import tensorflow
C:\Users\PC\Anaconda3\envs\tut\lib\site-packages\tensorflow\python\framework\dtypes.py:516: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([(qint8, np.int8, 1)])
C:\Users\PC\Anaconda3\envs\tut\lib\site-packages\tensorflow\python\framework\dtypes.py:517: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([(quint8, np.uint8, 1)])
C:\Users\PC\Anaconda3\envs\tut\lib\site-packages\tensorflow\python\framework\dtypes.py:518: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint16 = np.dtype([(qint16, np.int16, 1)])
C:\Users\PC\Anaconda3\envs\tut\lib\site-packages\tensorflow\python\framework\dtypes.py:519: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint16 = np.dtype([(quint16, np.uint16, 1)])
C:\Users\PC\Anaconda3\envs\tut\lib\site-packages\tensorflow\python\framework\dtypes.py:520: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint32 = np.dtype([(qint32, np.int32, 1)])
C:\Users\PC\Anaconda3\envs\tut\lib\site-packages\tensorflow\python\framework\dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
np_resource = np.dtype([(resource, np.ubyte, 1)])
C:\Users\PC\Anaconda3\envs\tut\lib\site-packages\tensorboard\compat\tensorflow_stub\dtypes.py:541: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([(qint8, np.int8, 1)])
C:\Users\PC\Anaconda3\envs\tut\lib\site-packages\tensorboard\compat\tensorflow_stub\dtypes.py:542: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([(quint8, np.uint8, 1)])
C:\Users\PC\Anaconda3\envs\tut\lib\site-packages\tensorboard\compat\tensorflow_stub\dtypes.py:543: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint16 = np.dtype([(qint16, np.int16, 1)])
C:\Users\PC\Anaconda3\envs\tut\lib\site-packages\tensorboard\compat\tensorflow_stub\dtypes.py:544: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint16 = np.dtype([(quint16, np.uint16, 1)])
C:\Users\PC\Anaconda3\envs\tut\lib\site-packages\tensorboard\compat\tensorflow_stub\dtypes.py:545: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint32 = np.dtype([(qint32, np.int32, 1)])
C:\Users\PC\Anaconda3\envs\tut\lib\site-packages\tensorboard\compat\tensorflow_stub\dtypes.py:550: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
np_resource = np.dtype([(resource, np.ubyte, 1)])

답변 1

만약 당신이 TF 2.0을 사용 중이라면, numpy를 1.16.4로 다운그레이드하는 빠른 해결책이 있습니다. (저는 1.17을 사용했을 때 동일한 경고 메시지를 받았습니다).


1. pip uninstall numpy 
2. pip install numpy==1.16.4

여기(ymodak에게 감사)를 참조하세요.

답변 2

synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. TensorFlow에서의 이 문제에 대한 SEO를 고려한 한국어 글을 작성하겠습니다.
제목: TensorFlow에서 나타나는 type의 동의어는 폐기되었습니다; 향후 numpy 버전에서는 (type, (1,)) / '(1,)type'로 이해될 것입니다.
서문:
TensorFlow는 딥 러닝 및 기계 학습을 위한 가장 인기있는 프레임워크입니다. 그러나 최신 버전의 TensorFlow를 사용할 때 종종 type의 동의어는 폐기되었습니다; 향후 numpy 버전에서는 (type, (1,)) / '(1,)type'로 이해될 것입니다.와 같은 경고 메시지를 만날 수 있습니다. 이 문제에 대해 더 자세히 알아보고 해결 방법을 제시하겠습니다.
본문:
TensorFlow를 사용하면서 때로는 이러한 종류의 경고 메시지를 보게 될 수 있습니다. type의 동의어는 폐기되었습니다; 향후 numpy 버전에서는 (type, (1,)) / '(1,)type'로 이해될 것입니다. 이 메시지는 TensorFlow에서는 type에 대한 동의어의 사용을 제한한다는 것을 의미합니다. 대신, 이제 (type, (1,)) 또는 '(1,)type'와 같은 형태로 이해하도록 개선되었습니다.
이러한 동의어 폐기는 TensorFlow와 함께 사용되는 numpy 버전의 변화와 관련이 있습니다. TensorFlow는 numpy와 긴밀하게 통합되어 있으며, 두 라이브러리는 상호 작용하는 데 중요한 역할을 담당합니다. TensorFlow 업데이트는 종종 numpy의 새로운 버전과 함께 출시되며, 동일한 버전 메이저 업데이트에서 이러한 경고 메시지가 나타날 수 있습니다.
이 문제를 해결하기 위해, TensorFlow를 사용하는 개발자들은 type 대신 (type, (1,)) 또는 '(1,)type'이라는 새로운 형식을 사용해야 합니다. 예를 들어, 다음과 같이 변환해야 합니다:
```
import numpy as np
# 이전 방식
arr = np.array([1, 2, 3], type=np.float32)
# 개선된 방식
arr = np.array([1, 2, 3], dtype=(np.float32, (1,)))
```
이렇게 함으로써, 새로운 버전의 numpy 및 TensorFlow에서도 코드가 정상적으로 작동할 수 있습니다. 이러한 변경사항은 TensorFlow의 안정적인 동작을 보장하기 위한 업데이트이기 때문에 개발자들은 가능한 빠른 시일 내에 코드를 수정하는 것이 좋습니다.
결론:
TensorFlow에서 type의 동의어는 폐기되었습니다; 향후 numpy 버전에서는 (type, (1,)) / '(1,)type'로 이해될 것입니다.라는 경고 메시지를 볼 수 있습니다. 이는 TensorFlow와 numpy의 통합성을 개선하기 위한 변경사항으로, 개발자들은 (type, (1,)) 또는 '(1,)type'과 같은 새로운 형식을 사용해야 합니다. 빠른 시일 내에 코드를 수정하여 안정적인 동작을 유지할 수 있도록 합시다.
참고 사이트:
- https://www.tensorflow.org/
- https://numpy.org/

반응형
Comments