深度学习 Day1——学习之前需要的工作准备

简介: 深度学习实战 Day 1

一、前言

我的环境:

  • 电脑系统:Win 11
  • 语言环境:Python 3.10
  • 编译器:PyCharm,Jupyter notebook
  • 深度学习环境:TensorFlow2

二、库的安装

Jupyter notebookTensorFlow都有对应的网页端,可以直接使用,非常方便,也可以在本地下载对应的库来实现,下载方式更其他库的方式一样。

CMD内使用pip下载:

pip install tensorflow
pip install jupyterlab
pip install notebook

三、官方示例演示

接下来是对于TensorFlow2.0的官方示例演示

如何目前你不熟悉TensorFlow和Jupyter的使用,你可以先在PyCharm中尝试一下:

首先导入tensorflow库

import tensorflow as tf

然后载入并准备好MNIST数据集,将样本从整数转换为浮点数。

mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

其中MNIST手写字符数据集返回两个元组,其中方法中还包括一个参数:

参数 说明
x_train,x_test uint8 数组表示的灰度图像,尺寸为 (num_samples, 28, 28)
y_train,,y_test uint8 数组表示的数字标签(范围在 0-9 之间的整数),尺寸为 (num_samples,)
path 如果在本地没有索引文件 (at ‘~/.keras/datasets/’ + path), 它将被下载到该目录

到这里,可能会运行成功,也可能会运行失败,运行成功的结果是;

Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11493376/11490434 [==============================] - 0s 0us/step
11501568/11490434 [==============================] - 0s 0us/step

失败的问题,我们待会解决,现在我们假设已经成功,接下来我们将模型的各层堆叠起来,以搭建tf.keras.Sequential模型,为训练选择优化器和损失函数;

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

其中,Sequential是顺序模型,顺序模型是多个网络层的线性堆叠。简单的说一下这一些方法的概念,想要更加深入的了解Keras这个基于Python的深度学习库可以去它的中文官网去学习一下,连接我就放在这里:https://keras.io/zh/

最后,我们来训练并验证模型:

model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test,  y_test, verbose=2)

它运行的结果是:

Epoch 1/5
1875/1875 [==============================] - 6s 3ms/step - loss: 0.2968 - accuracy: 0.9145
Epoch 2/5
1875/1875 [==============================] - 6s 3ms/step - loss: 0.1437 - accuracy: 0.9573
Epoch 3/5
1875/1875 [==============================] - 4s 2ms/step - loss: 0.1085 - accuracy: 0.9674
Epoch 4/5
1875/1875 [==============================] - 6s 3ms/step - loss: 0.0891 - accuracy: 0.9725
Epoch 5/5
1875/1875 [==============================] - 4s 2ms/step - loss: 0.0781 - accuracy: 0.9753
313/313 - 1s - loss: 0.0725 - accuracy: 0.9782 - 516ms/epoch - 2ms/step
[0.07253240793943405, 0.9782000184059143]

可以看出,这个官方示例照片分类器的准确的已经达到了98%,想要了解更多也是去它的官网去查阅相关的使用教程等内容。

四、过程中遇见的一些问题

上面官方示例演示的第二部分可能会运行出错。

2022-08-01 20:19:21.294942: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2022-08-01 20:19:21.295104: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.

出现这个情况我们先设置一下GPU:

import tensorflow as tf
gpus = tf.config.list_physical_devices("GPU")
if gpus:
    gpu0 = gpus[0]                                        #如果有多个GPU,仅使用第0个GPU
    tf.config.experimental.set_memory_growth(gpu0, True)  #设置GPU显存用量按需使用
    tf.config.set_visible_devices([gpu0],"GPU")

但是我们发现这样设置GPU之后还是报错,和之前的报错一样,这是因为最新版本的TensorFlow2默认安装CPU和GPU两个版本,而GPU是不能运行退回到CPU版本的这个时候。

我们发现错误里面提示**‘cudart64_110.dll’ not found**,因此我们需要手动将cudart64_110.dll添加到路径**“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin”**中去。

cudart64_101.dll链接https://cn.dll-files.com/cudart64_101.dll.html

但是这个时候肯定有很多人会发现自己的Program Files文件夹里面根本就没有NVIDIA GPU Computing Toolkit这个文件夹,这是因为我们没有安装CUDA和CUDNN。

好现在我们要去下载CUDA和CUDNN,下载地址我就放在下面:

CUDAhttps://developer.nvidia.com/cuda-downloads

CUDNNhttps://developer.nvidia.com/rdp/cudnn-download

注意:CUDA和CUDNN要版本匹配才行,CUDA要选择自己电脑支持的版本。

可以在电脑桌面右击,选择NVIDIA 控制面板,然后点击帮助,然后点系统信息,再点组件就可以看见自己电脑支持的版本了。

顺便提一下,如何这两个下载速度很慢或者因为网络问题下载失败,需要挂VPN然后最好不要使用WiFi下载,直接连接手机热点下载,反正我用WiFi总是下载不了,换手机热点之后就好很多了。(但依旧慢的要死😭)

在漫长的等待过后,我们终于下载好了这个两个东西。

1、安装CUDA

CUDA的安装推荐默认的就行,这样也不会忘记安装地址了,如果C盘容量不足的话那还是换另一个盘安装,安装结束之后,我们需要测试一下CUDA是否安装成功.

我们直接在cmd里面输入命令:nvcc --version,显示如下即算安装成功。

然后使用命令:set cuda,可以查看cuda设置的环境变量。

2、安装CUDNN

下载之后直接解压该压缩包到你指定的路径里面,检查一下是不是这些文件

然后打开C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA路径,找到路径下的binincludelib目录,然后将解压后CUDNN里面对应的binincludelib目录下的文件对应的复制到binincludelib目录下。

然后也是检查一下安装是否成功。

打开C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite路径,在此路径下打开Powershell(shift+鼠标右键选择在此处打开Powershell窗口),执行命令:.\bandwidthTest.exe,如何出现如下信息就证明安装成功:

到这里就CUDA和CUDNN的安装就结束了。

现在,我们重新打开PyCharm,然后重新运行程序,就会发现现在已经可以成功运行出结果了。

五、最后我想说

今天主要是进行一些环境搭建等前期工作,接下来就要跟着博主去训练各种项目,然后去总结知识,然后用博客的方式发出来,这也是这次活动的参与方式。

创作不易,谢谢你们的点赞收藏转发三连,文章里面有一些也是我翻阅了很多其他博主总结的,毕竟学习过程中遇见困难要学会自己去上网翻阅解决问题。

最后,文章如有某个地方出现错误或者不妥之处,也请大家为我指出,谢谢大家!!!

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
目录
相关文章
|
7月前
|
机器学习/深度学习 算法 TensorFlow
深度学习常用知识梯度下降学习率和反向传播
深度学习常用知识梯度下降学习率和反向传播
61 0
|
2月前
|
机器学习/深度学习 算法 数据可视化
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-2
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
97 0
|
2月前
|
机器学习/深度学习 Ubuntu Linux
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-1
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
55 1
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
从零开始学习深度学习:入门指南与实践建议
本文将引导读者进入深度学习领域的大门,从基础概念到实际应用,为初学者提供全面的学习指南和实践建议。通过系统化的学习路径规划和案例实践,帮助读者快速掌握深度学习的核心知识和技能,迈出在人工智能领域的第一步。
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
有什么资源或教程可以帮助我学习深度学习和Python中的深度学习框架?
【2月更文挑战第14天】【2月更文挑战第39篇】有什么资源或教程可以帮助我学习深度学习和Python中的深度学习框架?
|
3月前
|
机器学习/深度学习 自然语言处理 算法
如何学习深度学习
如何学习深度学习
|
4月前
|
机器学习/深度学习 算法 数据可视化
强化深度学习中使用Dyna-Q算法确定机器人问题中不同规划的学习和策略实战(超详细 附源码)
强化深度学习中使用Dyna-Q算法确定机器人问题中不同规划的学习和策略实战(超详细 附源码)
37 0
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
【周末闲谈】“深度学习”,人工智能也要学习?
【周末闲谈】“深度学习”,人工智能也要学习?
51 0