Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

수정:CPU가 이 TensorFlow 바이너리가 AVX2를 사용하도록 컴파일되지 않았다는 명령을 지원합니다.

고급 벡터 확장 (AVXSandy Bridge New Extensions라고도 함 )는 2008년 3월 Intel에서 제안한 Intel 및 AMD의 마이크로프로세서용 x86 명령어 집합 아키텍처의 확장이며 2011년 1분기에 Sandy Bridge 프로세서를 출시하면서 Intel에서 처음 지원했으며 2011년 3분기에 Bulldozer 프로세서를 출시하면서 AMD에서 처음 지원했습니다. AVX 새로운 기능, 새로운 지침 및 새로운 코딩 체계를 제공합니다.

수정:CPU가 이 TensorFlow 바이너리가 AVX2를 사용하도록 컴파일되지 않았다는 명령을 지원합니다.

이 경고 메시지는 TensorFlow의 공유 라이브러리에 의해 인쇄됩니다. 메시지에서 알 수 있듯이 공유 라이브러리에는 CPU가 사용할 수 있는 종류의 명령이 포함되어 있지 않습니다.

이 경고의 원인은 무엇입니까?

TensorFlow 1.6 이후 바이너리는 이제 이전 CPU에서 더 이상 실행되지 않을 수 있는 AVX 명령어를 사용합니다. 따라서 구형 CPU는 AVX를 실행할 수 없지만 최신 CPU의 경우 사용자는 CPU의 소스에서 텐서플로를 빌드해야 합니다. 다음은 이 특정 경고에 대해 알아야 할 모든 정보입니다. 또한 향후 사용을 위해 이 경고를 제거하는 방법입니다.

AVX의 기능은 무엇입니까?

특히 AVX는 FMA(Fused multi-add)를 도입했습니다. 이것은 부동 소수점 곱하기 더하기 연산이며 이 모든 연산은 단일 단계에서 수행됩니다. 이렇게 하면 문제 없이 많은 작업의 속도를 높이는 데 도움이 됩니다. 대수 계산을 더 빠르고 쉽게 사용할 수 있으며 내적, 행렬 곱하기, 컨볼루션 등도 사용할 수 있습니다. 그리고 이것들은 모든 기계 학습 훈련에서 가장 많이 사용되는 기본 연산입니다. AVX 및 FMA를 지원하는 CPU는 이전 CPU보다 훨씬 빠릅니다. 그러나 경고에는 CPU가 AVX를 지원한다고 나와 있으므로 좋은 지적입니다.

수정:CPU가 이 TensorFlow 바이너리가 AVX2를 사용하도록 컴파일되지 않았다는 명령을 지원합니다.

기본적으로 사용되지 않는 이유는 무엇입니까?

TensorFlow 기본 배포판은 CPU 확장 없이 구축되기 때문입니다. CPU 확장에 의해 AVX, AVX2, FMA 등을 명시합니다. 이 문제를 유발하는 명령은 사용 가능한 기본 빌드에서 기본적으로 활성화되어 있지 않습니다. 활성화되지 않은 이유는 가능한 한 많은 CPU와 호환되도록 하기 위함입니다. 또한 이러한 확장을 비교하기 위해 GPU보다 CPU에서 훨씬 느립니다. 소규모 머신러닝에는 CPU를 사용하고, 중대형 머신러닝 트레이닝에는 GPU를 사용할 것으로 예상된다.

경고 수정!

이러한 경고는 단순한 메시지일 뿐입니다. 이 경고의 목적은 소스에서 빌드된 TensorFlow에 대해 알려주는 것입니다. 소스에서 TensorFlow를 빌드하면 머신에서 더 빠를 수 있습니다. 따라서 이 모든 경고는 소스에서 TensorFlow를 빌드한다는 것을 알려줍니다.

컴퓨터에 GPU가 있는 경우 AVX 지원에서 이러한 경고를 무시할 수 있습니다. 가장 비싼 것은 GPU 장치에서 파견될 것이기 때문입니다. 이 오류가 더 이상 표시되지 않도록 하려면 다음을 추가하여 무시하면 됩니다.

OS 모듈 가져오기 기본 프로그램 코드에서 매핑 개체를 설정합니다.

# For disabling the warning

import os

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

그러나 Unix를 사용하는 경우 , bash 셸에서 내보내기 명령을 사용하십시오.

export TF_CPP_MIN_LOG_LEVEL=2

하지만 GPU가 없고 CPU를 최대한 사용하고 싶다면 여기에서 활성화된 AVX, AVX2 및 FMA를 사용하여 CPU에 최적화된 소스에서 TensorFlow를 빌드해야 합니다.