pc蛋蛋网站开发,做301到别人网站,怎么样做个网站,游戏是怎么做的视频网站#x1f3ac;个人简介#xff1a;一个全栈工程师的升级之路#xff01; #x1f4cb;个人专栏#xff1a;高性能#xff08;HPC#xff09;开发基础教程 #x1f380;CSDN主页 发狂的小花 #x1f304;人生秘诀#xff1a;学习的本质就是极致重复! 目录
1 NVIDIA Dr… 个人简介一个全栈工程师的升级之路 个人专栏高性能HPC开发基础教程 CSDN主页 发狂的小花 人生秘诀学习的本质就是极致重复! 目录
1 NVIDIA Driver and CUDA cuDNN安装配置
2 TensorRT安装配置
2.1 版本对应
2.2 环境配置解压后进入TensorRT根目录
2.3 安装python包
2.4 测试
3 训练 1 NVIDIA Driver and CUDA cuDNN安装配置 这三者安装安装顺序是GPU Driver-CUDA-cuDNN可以参考CUDA环境配置在Ubuntu18 注意版本要对应
2 TensorRT安装配置
2.1 版本对应 笔者CUDA为12.1.1 因此需要找到对应的TensorRT官网TensorRT官网 2.2 环境配置 解压后进入TensorRT根目录 1环境变量 vi ~/.bashrc 在文件末尾添加一行代码
export LD_LIBRARY_PATH/home/hubery/lib/TensorRT-8.6.1.6/lib:$LD_LIBRARY_PATH 关闭保存
source ~/.bashrc
2复制文件到系统路径 把TensorRT根目录中的/lib/下面的文件复制到 /usr/lib/下 把TensorRT根目录中的/include/下面的文件复制到 /usr/include/下
2.3 安装python包
进入TensorRT根目录下的python/目录下 可以看到多个版本的python包。 因为我之前安装的是python3.10版所以选择安装文件tensorrt_dispatch-8.6.1-cp310-none-linux_x86_64.whl 执行安装命令
pip install --force-reinstall tensorrt_dispatch-8.6.1-cp310-none-linux_x86_64.whl 2.4 测试 执行无报错 3 TensorFlow 安装配置
3.1 GPU版本 pip3 install tensorflow-gpu2.10.0
3.2 CPU版本 pip3 install tensorflow2.10.0
一般安装TensorFlow时会自动安装keras如果没有可以单独安装
pip3 install keras
3.3 测试 3 训练
代码来自从零入门 AI 视觉历时 3 个月我的代码仓库开源了
# 导入NumPy数学工具箱
import numpy as np
# 导入Pandas数据处理工具箱
import pandas as pd
# 从 Keras中导入 mnist数据集
from keras.datasets import mnist(X_train_image, y_train_lable), (X_test_image, y_test_lable) mnist.load_data() # 导入keras.utils工具箱的类别转换工具
from tensorflow.keras.utils import to_categorical
# 给标签增加维度,使其满足模型的需要
# 原始标签比如训练集标签的维度信息是[60000, 28, 28, 1]
X_train X_train_image.reshape(60000,28,28,1)
X_test X_test_image.reshape(10000,28,28,1)# 特征转换为one-hot编码
y_train to_categorical(y_train_lable, 10)
y_test to_categorical(y_test_lable, 10)# 从 keras 中导入模型
from keras import models
# 从 keras.layers 中导入神经网络需要的计算层
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D
# 构建一个最基础的连续的模型所谓连续就是一层接着一层
model models.Sequential()
# 第一层为一个卷积卷积核大小为(3,3), 输出通道32使用 relu 作为激活函数
model.add(Conv2D(32, (3, 3), activationrelu, input_shape(28,28,1)))
# 第二层为一个最大池化层池化核为2,2)
# 最大池化的作用是取出池化核2,2范围内最大的像素点代表该区域
# 可减少数据量降低运算量。
model.add(MaxPooling2D(pool_size(2, 2)))
# 又经过一个3,3的卷积输出通道变为64也就是提取了64个特征。
# 同样为 relu 激活函数
model.add(Conv2D(64, (3, 3), activationrelu))
# 上面通道数增大运算量增大此处再加一个最大池化降低运算
model.add(MaxPooling2D(pool_size(2, 2)))
# dropout 随机设置一部分神经元的权值为零在训练时用于防止过拟合
# 这里设置25%的神经元权值为零
model.add(Dropout(0.25))
# 将结果展平成1维的向量
model.add(Flatten())
# 增加一个全连接层用来进一步特征融合
model.add(Dense(128, activationrelu))
# 再设置一个dropout层将50%的神经元权值为零防止过拟合
# 由于一般的神经元处于关闭状态这样也可以加速训练
model.add(Dropout(0.5))
# 最后添加一个全连接softmax激活输出10个分类分别对应0-9 这10个数字
model.add(Dense(10, activationsoftmax))# 编译上述构建好的神经网络模型
# 指定优化器为 rmsprop
# 制定损失函数为交叉熵损失
model.compile(optimizerrmsprop,losscategorical_crossentropy,metrics[accuracy])# 开始训练
model.fit(X_train, y_train, # 指定训练特征集和训练标签集validation_split 0.3, # 部分训练集数据拆分成验证集epochs5, # 训练轮次为5轮batch_size128) # 以128为批量进行训练# 在测试集上进行模型评估
score model.evaluate(X_test, y_test)
print(测试集预测准确率:, score[1]) # 打印测试集上的预测准确率# 预测验证集第一个数据
pred model.predict(X_test[0].reshape(1, 28, 28, 1))
# 把one-hot码转换为数字
print(pred[0],转换一下格式得到,pred.argmax())# 导入绘图工具包
import matplotlib.pyplot as plt
# 输出这个图片
plt.imshow(X_test[0].reshape(28, 28),cmapGreys)执行结果 我的分享也就到此结束啦 如果我的分享也能对你有帮助那就太好了 若有不足还请大家多多指正我们一起学习交流 未来的富豪们点赞→收藏⭐→关注如果能评论下就太惊喜了 感谢大家的观看和支持最后☺祝愿大家每天有钱赚欢迎关注、关注