win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法


Posted in Servers onJune 25, 2022

避坑1:RTX30系列显卡不支持cuda11.0以下版本,具体上限版本可自行查阅:

方法一,在cmd中输入nvidia-smi查看

win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法

方法二:

win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法

win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法

win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法

win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法

由此可以看出本电脑最高适配cuda11.2.1版本;

win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法

注意需要版本适配,这里我们选择TensorFlow-gpu = 2.5,cuda=11.2.1,cudnn=8.1,python3.7

接下来可以下载cudn和cundnn:

官网:https://developer.nvidia.com/cuda-toolkit-archive

 下载对应版本exe文件打开默认安装就可;

验证是否安装成功:

win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法

官网:cuDNN Archive | NVIDIA Developer

win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法

把下载文件进行解压把bin+lib+include文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2文件下;

进入环境变量设置(cuda会自动设置,如果没有的补全):

win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法

查看是否安装成功:

cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\demo_suite
bandwidthTest.exe

win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法

 安装tensorflow-gpu:

pip install tensorflow-gpu==2.5

最后我们找相关程序来验证一下:

第一步:

import tensorflow as tf
print(tf.__version__)
print('GPU', tf.test.is_gpu_available())

win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法

第二步:

# _*_ coding=utf-8 _*_
'''
@author: crazy jums
@time: 2021-01-24 20:55
@desc: 添加描述
'''
# 指定GPU训练
import os
os.environ["CUDA_VISIBLE_DEVICES"]="0"  ##表示使用GPU编号为0的GPU进行计算
import numpy as np
from tensorflow.keras.models import Sequential  # 采用贯序模型
from tensorflow.keras.layers import Dense, Dropout, Conv2D, MaxPool2D, Flatten
from tensorflow.keras.datasets import mnist
from tensorflow.keras.utils import to_categorical
from tensorflow.keras.callbacks import TensorBoard
import time
def create_model():
    model = Sequential()
    model.add(Conv2D(32, (5, 5), activation='relu', input_shape=[28, 28, 1]))  # 第一卷积层
    model.add(Conv2D(64, (5, 5), activation='relu'))  # 第二卷积层
    model.add(MaxPool2D(pool_size=(2, 2)))  # 池化层
    model.add(Flatten())  # 平铺层
    model.add(Dropout(0.5))
    model.add(Dense(128, activation='relu'))
    model.add(Dropout(0.5))
    model.add(Dense(10, activation='softmax'))
    return model
def compile_model(model):
    model.compile(loss='categorical_crossentropy', optimizer="adam", metrics=['acc'])
    return model
def train_model(model, x_train, y_train, batch_size=32, epochs=10):
    tbCallBack = TensorBoard(log_dir="model", histogram_freq=1, write_grads=True)
    history = model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, shuffle=True, verbose=2,
                        validation_split=0.2, callbacks=[tbCallBack])
    return history, model
if __name__ == "__main__":
    import tensorflow as tf
    print(tf.__version__)
    from tensorflow.python.client import device_lib
    print(device_lib.list_local_devices())
    (x_train, y_train), (x_test, y_test) = mnist.load_data()  # mnist的数据我自己已经下载好了的
    print(np.shape(x_train), np.shape(y_train), np.shape(x_test), np.shape(y_test))
    x_train = np.expand_dims(x_train, axis=3)
    x_test = np.expand_dims(x_test, axis=3)
    y_train = to_categorical(y_train, num_classes=10)
    y_test = to_categorical(y_test, num_classes=10)
    print(np.shape(x_train), np.shape(y_train), np.shape(x_test), np.shape(y_test))
    model = create_model()
    model = compile_model(model)
    print("start training")
    ts = time.time()
    history, model = train_model(model, x_train, y_train, epochs=2)
    print("start training", time.time() - ts)

win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法

验证成功。

以上就是win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的详细内容,更多关于win10+RTX3050ti+TensorFlow+cudn+cudnn深度学习的资料请关注三水点靠木其它相关文章!


Tags in this post...

Servers 相关文章推荐
nginx如何将http访问的网站改成https访问
Mar 31 Servers
nginx内存池源码解析
Nov 20 Servers
Nginx虚拟主机的搭建的实现步骤
Jan 18 Servers
从零开始在Centos7上部署SpringBoot项目
Apr 07 Servers
Nginx禁止ip访问或非法域名访问
Apr 07 Servers
Nginx+Tomcat负载均衡多实例详解
Apr 11 Servers
Window server 2012 R2 AD域的组策略相关设置
Apr 28 Servers
nginx日志格式分析和修改
Apr 28 Servers
利用Apache Common将java对象池化的问题
Jun 16 Servers
Linux服务器离线安装 nginx的详细步骤
Jun 16 Servers
Windows Server 2008配置防火墙策略详解
Jun 28 Servers
git stash(储藏)的用法总结
Jun 25 #Servers
git中cherry-pick命令的使用教程
Jun 25 #Servers
解决Git推送错误non-fast-forward的方法
Jun 25 #Servers
Win2008系统搭建DHCP服务器
windows server2008 开启端口的实现方法
Windows10安装Apache2.4的方法步骤
Linux下搭建SFTP服务器的命令详解
Jun 25 #Servers
You might like
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
PHP的SQL注入实现(测试代码安全不错)
2011/02/27 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
php中数字、字符与对象判断函数用法实例
2014/11/26 PHP
PHP中文编码小技巧
2014/12/25 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
2017/05/26 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
2019/07/03 PHP
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
js获取php变量的实现代码
2013/08/10 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
jQuery分组选择器用法实例
2014/12/23 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
javascript下拉列表菜单的实现方法
2015/11/18 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
利用jqgrid实现上移下移单元格功能
2018/11/07 Javascript
Vue调用后端java接口的实例代码
2019/10/28 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
vue绑定数字类型 value为数字的实例
2020/08/31 Javascript
解决Python 使用h5py加载文件,看不到keys()的问题
2019/02/08 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
群众路线教育实践活动心得体会(四风)
2014/11/03 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
redis数据一致性的实现示例
2022/03/18 Redis
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python
浅析Python OpenCV三种滤镜效果
2022/04/11 Python
python内置模块之上下文管理contextlib
2022/06/14 Python
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript