深度学习 Day 1——学习之前需要的工作准备
活动地址:CSDN21天学习挑战赛
- 本文为🔗365天深度学习训练营 中的学习记录博客
- 参考文章地址: 🔗深度学习100例-卷积神经网络(CNN)天气识别 | 第5天
一、前言
我的环境:
-
电脑系统:Win 11
-
语言环境:Python 3.10
-
编译器:PyCharm,Jupyter notebook
-
深度学习环境:TensorFlow2
二、库的安装
Jupyter notebook和TensorFlow都有对应的网页端,可以直接使用,非常方便,也可以在本地下载对应的库来实现,下载方式更其他库的方式一样。
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,下载地址我就放在下面:
CUDA:https://developer.nvidia.com/cuda-downloads
CUDNN:https://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路径,找到路径下的bin、include、lib目录,然后将解压后CUDNN里面对应的bin、include、lib目录下的文件对应的复制到bin、include、lib目录下。
然后也是检查一下安装是否成功。
打开C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite路径,在此路径下打开Powershell(shift+鼠标右键选择在此处打开Powershell窗口),执行命令:.\bandwidthTest.exe,如何出现如下信息就证明安装成功:
到这里就CUDA和CUDNN的安装就结束了。
现在,我们重新打开PyCharm,然后重新运行程序,就会发现现在已经可以成功运行出结果了。
五、最后我想说
这是我参加CSDN的一个活动所写的博客,名字叫做21天学习挑战赛,是免费参加的,我也是想学习一些新知识,然后让自己忙起来不那么闲,总而言之,参加能更加督促自己每天的学习,我本人也经常偷懒,哈哈哈😁
活动地址我放在这里:https://t.csdnimg.cn/imX8
感兴趣的同学可以利用自己的空余时间来跟着大博主学习学习,增长知识,何乐而不为。
今天主要是进行一些环境搭建等前期工作,接下来就要跟着博主去训练各种项目,然后去总结知识,然后用博客的方式发出来,这也是这次活动的参与方式。
创作不易,谢谢你们的点赞收藏转发三连,文章里面有一些也是我翻阅了很多其他博主总结的,毕竟学习过程中遇见困难要学会自己去上网翻阅解决问题。
最后,文章如有某个地方出现错误或者不妥之处,也请大家为我指出,谢谢大家!!!🥰🥰🥰