美文网首页
从头搭建神经网络模型环境

从头搭建神经网络模型环境

作者: cnwinds | 来源:发表于2023-04-01 11:32 被阅读0次

本文档记录了从头开始搭建环境的过程,主要是中间遇到的问题以及解决方法。
本文档安装的程序会尽量带上版本号,因为很多问题都是版本不匹配引起的。
使用环境是Windows10系统。

安装python3.7(略)

安装pip(略)

安装jupyter notebook

pip install jupyter==1.0.0

启动命令:

jupyter notebook

安装tensorflow

pip install tensorflow-gpu==2.10.1 pandas

支持GPU

前提是你要有一块Nvidia的高性能显卡。主要是安装CUDA和cuDNN,可以按照你访问网站时的最新版本下载安装,两个程序版本是配套的就行。我这里安装的版本是可以和tensorflow 2.10.1 正常配合使用的。

安装CUDA 12.1

https://developer.nvidia.com/cuda-downloads
安装目录默认在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1

下载 cuDNN 8.8.1 for CUDA 12.x

https://developer.nvidia.com/rdp/cudnn-download
cuDNN的版本要和CUDA配套。解压出的bin目录内容复制进入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin目录中。其实就是将所有的dll文件放入CUDA的bin目录中。

问题汇总

启动jupyter notebook后出现错误:ImportError: cannot import name 'soft_unicode' from 'markupsafe'

解决方法:

pip install MarkupSafe==2.0.1

出现各种dll动态库无法加载的问题。

解决方法:
1、将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin里面的所有dll都复制到C:\Windows\System32目录下
2、将cuDNN压缩包里面bin目录下的dll文件都复制到C:\Windows\System32目录下

出现错误:error: Can't find libdevice directory ${CUDA_DIR}/nvvm/libdevice

解决方法:
设置系统环境变量 XLA_FLAGS=--xla_gpu_cuda_data_dir="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.1"
注意里面的引号不能少。

验证GPU是否能工作

识别GPU

import tensorflow as tf
device_gpu = tf.config.list_physical_devices('GPU')
print(device_gpu)
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

如果数据不是空数组,说明GPU识别成功。

调用GPU计算

import tensorflow as tf
gpus = tf.config.list_physical_devices("GPU")
print(gpus)

import time
from contextlib import contextmanager

@contextmanager
def timer():
    start_time = time.perf_counter()
    yield
    end_time = time.perf_counter()
    print(f"Code block took {end_time - start_time:.6f} s to run")


with timer():
    with tf.device("/gpu:0"):
        tf.random.set_seed(0)
        a = tf.random.uniform((10000,100),minval = 0,maxval = 3.0)
        b = tf.random.uniform((100,100000),minval = 0,maxval = 3.0)
        c = a@b
        tf.print(tf.reduce_sum(tf.reduce_sum(c,axis = 0),axis=0))


with timer():
    with tf.device("/cpu:0"):
        tf.random.set_seed(0)
        a = tf.random.uniform((10000,100),minval = 0,maxval = 3.0)
        b = tf.random.uniform((100,100000),minval = 0,maxval = 3.0)
        c = a@b
        tf.print(tf.reduce_sum(tf.reduce_sum(c,axis = 0),axis=0))
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
2.24953778e+11
Code block took 0.443041 s to run
2.24953778e+11
Code block took 5.125858 s to run

如果这个代码能正常执行,说明你的环境已经准备好了。

GPU相关的命令行

命令行 说明
nvidia-smi 提供监控GPU使用情况和更改GPU状态的功能。GPU之nvidia-smi命令详解

相关文章

  • 使用keras实现MLP的三种简单方式

    本章是利用keras实现MLP三种方式(序列模型、函数模型、子类模型),分别搭建回归神经网络,分类神经网络,以及宽...

  • BP神经网络|手写数字识别

    整体思路:模型搭建--训练--测试--优化 搭建基本模型阶段: step1:引入要用的包 step2:定义神经网络...

  • 人工智能centos环境搭建,以及matplotlib.pypl

    在阿里云注册了一个小型的服务器,用于神经网络环境搭建,以下是搭建的流程。 搭建环境: centos 6.5 pyt...

  • 深度学习环境搭建

    卷积神经网络开发环境搭建 框架(Frameworks) Caffe, Torch, Theano, Tensorf...

  • 通过Sequential快速搭建tensorflow模型

    keras模型构建中介绍,通过Sequential类可快速堆叠出一个神经网络模型。完成一个模型搭建,大致需要三个步...

  • 利用keras搭建CNN完成图片分类

    一、简介 本文旨在通过一些简单的案例,学习如何通过keras搭建CNN。从数据读取,数据处理,神经网络搭建,模型训...

  • Task3 字符识别模型

    前面学了背景及数据读取,今天开始模型的部分了。使用常用的卷积神经网络CNN,搭建个分类模型。 CNN介绍 CNN是...

  • 使用CNN检测脸部关键点教程(一)

    目录: 1, 环境需求 2, 数据介绍 3, 模型卷积神经网络 4, 测试卷积神经网络的性能 第一部分:环境需求 ...

  • 001 环境搭建 xampp

    前略,php优势七七八八不说了方便的环境搭建方法有以下两种1 从头搭建php CLI环境;2 用集成包搭建,常用的...

  • 从头搭建环境变量

    背景:由于公司刚给配的iMac,以致于要在新的电脑上搭建开发环境。下面来描述下从头到尾搭建开发环境的全过程。 由于...

网友评论

      本文标题:从头搭建神经网络模型环境

      本文链接:https://www.haomeiwen.com/subject/ibmkddtx.html