TensorFlow安裝CPU版本和GPU版本的實(shí)現(xiàn)步驟
前言
下載的Anaconda是Anaconda3-2024.02-1-Windows-x86_64版本
一、TensorFlow安裝CPU版本
本例子,下載的Python版本為3.11.7和tensorflow版本為2.16.1
1.新建虛擬環(huán)境
打開Anaconda Prompt,輸入
conda create -n myenvname python=3.11.7
“myenvname”為自己的虛擬環(huán)境名字
2.激活虛擬環(huán)境
繼續(xù)輸入
activate myenvname
“myenvname”為自己的虛擬環(huán)境名字
3.下載tensorflow
直接安裝tensorflow會(huì)遇到以下報(bào)錯(cuò),這是提示有一些依賴沒有安裝
所以我先安裝了依賴再下載tensorflow
pip install joblib==1.2.0 scipy==1.11.4 tabulate==0.9.0 tqdm==4.65.0 tensorflow==2.16.1 -i https://mirrors.aliyun.com/pypi/simple
4.驗(yàn)證是否下載成功
輸入ipython,進(jìn)入交互環(huán)境(要是報(bào)錯(cuò),那可能是沒有ipython,可以pip list查看一下,沒有的話需要下載一個(gè))
導(dǎo)入tensorflow
import tensorflow as tf
成功
二、TensorFlow安裝GPU版本
本例子,下載的CUDA版本是11.5.2,cuDNN的版本是8.3.2,Python環(huán)境是3.9,tensorflow-gpu的版本是2.7.0。注:CUDA、cuDNN、python的環(huán)境要對(duì)應(yīng),不然會(huì)安裝失?。ê苤匾。。。?。
1.新建虛擬環(huán)境
打開Anaconda Prompt,輸入
conda create -n myenvname python=3.9
“myenvname”為自己的虛擬環(huán)境名字
2.激活虛擬環(huán)境
activate myenvname
“myenvname”為自己的虛擬環(huán)境名字
3.安裝tensorflow-gpu
pip install tensorflow-gpu==2.7.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
4.驗(yàn)證是否下載成功
進(jìn)入python環(huán)境,導(dǎo)入tensorflow
import tensorflow as tf
要是遇到這個(gè)問題,提示protobuf版本過低
(tensorflow2) C:\Users\asus>python Python 3.9.19 (main, May 6 2024, 20:12:36) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\__init__.py", line 41, in <module> from tensorflow.python.tools import module_util as _module_util File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\__init__.py", line 41, in <module> from tensorflow.python.eager import context File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\eager\context.py", line 33, in <module> from tensorflow.core.framework import function_pb2 File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\core\framework\function_pb2.py", line 16, in <module> from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr__value__pb2 File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\core\framework\attr_value_pb2.py", line 16, in <module> from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2 File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\core\framework\tensor_pb2.py", line 16, in <module> from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource__handle__pb2 File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\core\framework\resource_handle_pb2.py", line 16, in <module> from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__shape__pb2 File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\core\framework\tensor_shape_pb2.py", line 36, in <module> _descriptor.FieldDescriptor( File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\google\protobuf\descriptor.py", line 553, in __new__ _message.Message._CheckCalledFromGeneratedFile() TypeError: Descriptors cannot be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. If you cannot immediately regenerate your protos, some other possible workarounds are: 1. Downgrade the protobuf package to 3.20.x or lower. 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower). More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates >>>
輸入exit()退出python環(huán)境,回到虛擬環(huán)境
pip install protobuf==3.19.6 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
再次進(jìn)入python環(huán)境,輸入“import tensorflow as tf”,要是遇到如下問題,提示TensorFlow與NumPy的版本不兼容
(tensorflow2) C:\Users\asus>python Python 3.9.19 (main, May 6 2024, 20:12:36) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.0 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\__init__.py", line 41, in <module> from tensorflow.python.tools import module_util as _module_util File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\__init__.py", line 41, in <module> from tensorflow.python.eager import context File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\eager\context.py", line 38, in <module> from tensorflow.python.client import pywrap_tf_session File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\client\pywrap_tf_session.py", line 23, in <module> from tensorflow.python.client._pywrap_tf_session import * AttributeError: _ARRAY_API not found A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.0 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\__init__.py", line 41, in <module> from tensorflow.python.tools import module_util as _module_util File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\__init__.py", line 46, in <module> from tensorflow.python import data File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\__init__.py", line 25, in <module> from tensorflow.python.data import experimental File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\experimental\__init__.py", line 98, in <module> from tensorflow.python.data.experimental import service File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\experimental\service\__init__.py", line 374, in <module> from tensorflow.python.data.experimental.ops.data_service_ops import distribute File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\experimental\ops\data_service_ops.py", line 27, in <module> from tensorflow.python.data.experimental.ops import compression_ops File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\experimental\ops\compression_ops.py", line 20, in <module> from tensorflow.python.data.util import structure File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\util\structure.py", line 26, in <module> from tensorflow.python.data.util import nest File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\util\nest.py", line 40, in <module> from tensorflow.python.framework import sparse_tensor as _sparse_tensor File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\framework\sparse_tensor.py", line 28, in <module> from tensorflow.python.framework import constant_op File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\framework\constant_op.py", line 29, in <module> from tensorflow.python.eager import execute File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\eager\execute.py", line 27, in <module> from tensorflow.python.framework import dtypes File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\framework\dtypes.py", line 30, in <module> from tensorflow.python.lib.core import _pywrap_bfloat16 AttributeError: _ARRAY_API not found ImportError: numpy.core._multiarray_umath failed to import ImportError: numpy.core.umath failed to import Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\__init__.py", line 41, in <module> from tensorflow.python.tools import module_util as _module_util File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\__init__.py", line 46, in <module> from tensorflow.python import data File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\__init__.py", line 25, in <module> from tensorflow.python.data import experimental File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\experimental\__init__.py", line 98, in <module> from tensorflow.python.data.experimental import service File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\experimental\service\__init__.py", line 374, in <module> from tensorflow.python.data.experimental.ops.data_service_ops import distribute File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\experimental\ops\data_service_ops.py", line 27, in <module> from tensorflow.python.data.experimental.ops import compression_ops File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\experimental\ops\compression_ops.py", line 20, in <module> from tensorflow.python.data.util import structure File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\util\structure.py", line 26, in <module> from tensorflow.python.data.util import nest File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\data\util\nest.py", line 40, in <module> from tensorflow.python.framework import sparse_tensor as _sparse_tensor File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\framework\sparse_tensor.py", line 28, in <module> from tensorflow.python.framework import constant_op File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\framework\constant_op.py", line 29, in <module> from tensorflow.python.eager import execute File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\eager\execute.py", line 27, in <module> from tensorflow.python.framework import dtypes File "C:\Users\asus\.conda\envs\tensorflow2\lib\site-packages\tensorflow\python\framework\dtypes.py", line 33, in <module> _np_bfloat16 = _pywrap_bfloat16.TF_bfloat16_type() TypeError: Unable to convert function return value to a Python type! The signature was () -> handle >>>
輸入exit()退出python環(huán)境,回到虛擬環(huán)境
pip install numpy==1.21.6 -i https://pypi.tuna.tsinghua.edu.cn/simple/
進(jìn)入python環(huán)境,輸入
import tensorflow as tf tf.__version__ tf.test.is_gpu_available()
查看版本2.7.0,版本正確。末尾顯示True,TensorFlow檢測(cè)到可用的GPU,安裝成功,exit()退出python環(huán)境
后續(xù)我想用ipython查看是否安裝成功,出現(xiàn)以下問題
進(jìn)入ipython環(huán)境,輸入
import tensorflow as tf tf.__version__ tf.test.is_gpu_available()
創(chuàng)建虛擬環(huán)境的時(shí)候指定python版本為3.9,但是這里卻顯示3.11.7。
末尾顯示False,TensorFlow沒有檢測(cè)到可用的GPU。
猜測(cè)可能是這個(gè)虛擬環(huán)境沒有ipython,可能用了其他環(huán)境的ipython。
解決方案,可以在虛擬環(huán)境中用pip list查看虛擬環(huán)境中是否有ipython,要是沒有,需要安裝一個(gè),然后就可以解決了
到此這篇關(guān)于TensorFlow安裝CPU版本和GPU版本的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)TensorFlow安裝CPU和GPU內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 運(yùn)行tensorflow python程序,限制對(duì)GPU和CPU的占用操作
- 基于Tensorflow使用CPU而不用GPU問題的解決
- 在tensorflow中設(shè)置使用某一塊GPU、多GPU、CPU的操作
- tensorflow指定CPU與GPU運(yùn)算的方法實(shí)現(xiàn)
- 卸載tensorflow-cpu重裝tensorflow-gpu操作
- 使用Tensorflow-GPU禁用GPU設(shè)置(CPU與GPU速度對(duì)比)
- 詳解tf.device()指定tensorflow運(yùn)行的GPU或CPU設(shè)備實(shí)現(xiàn)
- 用gpu訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),用tensorflow-cpu跑出錯(cuò)的原因及解決方案
- Tensorflow中使用cpu和gpu有什么區(qū)別
- tensorflow之如何使用GPU而不是CPU問題
相關(guān)文章
python如何通過閉包實(shí)現(xiàn)計(jì)算器的功能
這篇文章主要介紹了python如何通過閉包實(shí)現(xiàn)計(jì)算器的功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02python GUI庫(kù)圖形界面開發(fā)之PyQt5打開保存對(duì)話框QFileDialog詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫(kù)圖形界面開發(fā)之PyQt5打開保存對(duì)話框QFileDialog詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-02-02用Python從0開始實(shí)現(xiàn)一個(gè)中文拼音輸入法的思路詳解
中文輸入法是一個(gè)歷史悠久的問題,但也實(shí)在是個(gè)繁瑣的活,不知道這是不是網(wǎng)上很少有人分享中文拼音輸入法的原因,接下來(lái)通過本文給大家分享使用Python從0開始實(shí)現(xiàn)一個(gè)中文拼音輸入法,需要的朋友可以參考下2019-07-07Tensorflow tf.tile()的用法實(shí)例分析
這篇文章主要介紹了Tensorflow tf.tile()的用法實(shí)例分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-05-05linux mint中搜狗輸入法導(dǎo)致pycharm卡死的問題
這篇文章主要介紹了linux mint中搜狗輸入法導(dǎo)致pycharm卡死的問題,這篇文章給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10