Ubuntu20.04安装CUDA、cuDNN、onnxruntime、TensorRT

描述——名词解释

CUDA:
显卡厂商NVIDIA推出的运算平台,是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员可以使用C语言来为CUDA架构编写程序,所编写出的程序可以在支持CUDA的处理器上以超高性能运行。(百度百科)
NVDIA开发出的,可以用于GPU计算的一个工具(我)

cuDNN:用于深度神经网络的GPU加速库

onnxruntime:微软推出的一款推理框架

TensorRT:用于高效实现已训练好的深度学习模型的推理过程的SDK

安装过程

只写三句话

这篇文章记录Ubuntu20.04系统安装CUDA、cuDNN、onnxruntime、TensorRT
版本一定要对应起来
装完要重启!

成功之后

我将它们都装在了/usr/local/下,最后在该目录下得到了安装后的三个目录

cuda
cuda-11.2
TensorRT-8.0.0.3

一、安装CUDA

官网安装参考:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
在官网安装参考中,有一些命令,用来确认你当前电脑的系统及GPU状态是否可以安装CUDA。如果是第一次安装CUDA,可以按照官网或者一些博客的提示,输入一些简单的查询命令来确定,这里不多说

CUDA以前版本的下载页面:https://developer.nvidia.com/cuda-toolkit-archive
我选择的是11.2.2版本,点击对应的版本会进入指定版本的下载页面,按照如下的配置进行选择
在这里插入图片描述

官网已经给出了下载和安装命令,依次执行它们

wget https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.runsudo 
sudo sh cuda_11.2.2_460.32.03_linux.run

在之后的安装指示中,第一次选择“continue”(图片里选中的是Abort,只是示意)
在这里插入图片描述
第二次输入“accept”
在这里插入图片描述

第三次移动到“Driver”,按下空格,以取消安装驱动(即使没装CUDA前,你的电脑之前也是有GPU驱动的,不需要再装)。再点击“Install”
在这里插入图片描述接下来就会自动安装了

安装完成后,添加路径

gedit ~/.bashrc

文件最后增加路径

export PATH=$PATH:/usr/local/cuda-11.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.2/lib
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-11.2/lib64

路径生效

source ~/.bashrc

安装成功

nvcc -V

成功会显示CUDA版本

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Sun_Feb_14_21:12:58_PST_2021
Cuda compilation tools, release 11.2, V11.2.152
Build cuda_11.2.r11.2/compiler.29618528_0

CUDA错误1

在我运行一个以CUDA为核心的代码时,报了如下错误

/home/chen/anaconda3/envs/chen/lib/python3.9/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py:53: UserWarning: Specified provider 'TensorrtExecutionProvider' is not in available provider names.Available providers: 'CUDAExecutionProvider, CPUExecutionProvider'
  warnings.warn("Specified provider '{}' is not in available provider names."
Traceback (most recent call last):
  File "/home/chen/CodeBase/yhseg_onnxrun/src/demo_onnx.py", line 160, in <module>
    demo(opt)
  File "/home/chen/CodeBase/yhseg_onnxrun/src/demo_onnx.py", line 41, in demo
    sess = rt.InferenceSession("./models/chen.onnx",
  File "/home/chen/anaconda3/envs/chen/lib/python3.9/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 283, in __init__
    self._create_inference_session(providers, provider_options, disabled_optimizers)
  File "/home/chen/anaconda3/envs/chen/lib/python3.9/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 321, in _create_inference_session
    sess.initialize_session(providers, provider_options, disabled_optimizers)
RuntimeError: /onnxruntime_src/onnxruntime/core/providers/cuda/cuda_call.cc:121 bool onnxruntime::CudaCall(ERRTYPE, const char*, const char*, ERRTYPE, const char*) [with ERRTYPE = cudaError; bool THRW = true] /onnxruntime_src/onnxruntime/core/providers/cuda/cuda_call.cc:115 bool onnxruntime::CudaCall(ERRTYPE, const char*, const char*, ERRTYPE, const char*) [with ERRTYPE = cudaError; bool THRW = true] CUDA failure 999: unknown error ; GPU=2045003264 ; hostname=chen ; expr=cudaSetDevice(info_.device_id);

解决方案: 装完要重启!

CUDA错误2

会有一些包的缺失,很简单,装上他们即可

ModuleNotFoundError: No module named 'tqdm'
ModuleNotFoundError: No module named 'matplotlib'
ModuleNotFoundError: No module named 'cv2'

安装命令

pip install tqdm
pip install matplotlib
pip install opencv-python

二、安装cuDNN

由于我选择安装的是CUDA11.2,因此我的cuDNN的版本要对应着来

在这里插入图片描述
上图已经说明了下载哪一个版本。点击后,会下载得到一个名为cudnn-11.2-linux-x64-v8.1.0.77.tgz的文件

执行命令把它装在/usr/local/

sudo tar -zxvf cudnn-11.2-linux-x64-v8.1.1.33.tgz -C /usr/local/

解压完毕后,会在/usr/local/路径下得到一个名为cuda的文件夹

安装成功

注意到,对于cuDNN的安装并没有和CUDA发生关联。
我查看了cuDNN安装路径/usr/local/cuda和CUDA安装路径/usr/local/cuda-11.2中,都存在着lib64的库目录,粗略的看了一下文件名近乎相同。一些安装博主将cudnn的库拷贝进了CUDA路径下。我暂时没有这样做,也没有深入分析二者库的区别。埋个坑,以后出问题再说把。

cat /usr/local/cuda/include/cudnn_version

显示出了cuDNN的版本为8.1.0

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 1
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#endif /* CUDNN_VERSION_H */

三、安装onnxruntime

ONNXRuntime是微软推出的一款推理框架,用户可以非常便利的用其运行一个onnx模型。

onnxruntime的安装很简单,会涉及到与CUDA、cuDNN的版本对应问题
官网给出的版本对应:https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html
安装时应该会自动下载正确的版本

安装命令:

pip install onnxruntime-gpu

确认是否安装成功,执行python命令

python

依次输入语句,会有如下输出

Python 3.9.12 (main, Apr  5 2022, 06:56:58) 
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import onnxruntime
>>> onnxruntime.get_device()
'GPU'
>>> onnxruntime.get_available_providers()
['CUDAExecutionProvider', 'CPUExecutionProvider']

四、安装TensorRT

TensorRT下载网址https://developer.nvidia.com/nvidia-tensorrt-8x-download

我的CUDA版本是11.2,因此我要选择TensorRT8.0版本。在网页中找到对应版本
“TensorRT 8.0 EA for Linux and CUDA 11.1, 11.2 & 11.3”
点击第一个“TensorRT 8.0 EA for Linux x86_64 and CUDA 11.1, 11.2 & 11.3 TAR package”
这样会下载tar压缩包格式的安装包,名字叫TensorRT-8.0.0.3.Linux.x86_64-gnu.cuda-11.3.cudnn8.2.tar.gz

安装

我把TensorRT安装在了/usr/local

cd ~/Downloads
sudo tar -xzvf TensorRT-8.0.0.3.Linux.x86_64-gnu.cuda-11.3.cudnn8.2.tar.gz -C /usr/local/

配置环境变量

gedit ~/.bashrc

.bashrc文件最后一行增加路径

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/TensorRT-8.0.0.3/lib

配置生效

source ~/.bashrc

编译TensorRT的示例,会在bin路径下生成一个针对MINIST数据集的sample_mnist可执行文件

cd /usr/local/TensorRT-8.0.0.3/samples/sampleMNIST
sudo make
cd ../../bin/
./sample_mnist

成功运行的提示

&&&& RUNNING TensorRT.sample_mnist [TensorRT v8000] # ./sample_mnist
[10/14/2022-17:01:44] [I] Building and running a GPU inference engine for MNIST
[10/14/2022-17:01:44] [I] [TRT] [MemUsageChange] Init CUDA: CPU +146, GPU +0, now: CPU 151, GPU 407 (MiB)
[10/14/2022-17:01:44] [I] [TRT] [MemUsageSnapshot] Builder begin: CPU 153 MiB, GPU 407 MiB
[10/14/2022-17:01:45] [W] [TRT] TensorRT was linked against cuBLAS/cuBLAS LT 11.4.2 but loaded cuBLAS/cuBLAS LT 11.4.1
[10/14/2022-17:01:45] [I] [TRT] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +182, GPU +76, now: CPU 335, GPU 483 (MiB)
[10/14/2022-17:01:45] [I] [TRT] [MemUsageChange] Init cuDNN: CPU +128, GPU +80, now: CPU 463, GPU 563 (MiB)
[10/14/2022-17:01:45] [W] [TRT] TensorRT was linked against cuDNN 8.2.0 but loaded cuDNN 8.1.0
[10/14/2022-17:01:45] [W] [TRT] Detected invalid timing cache, setup a local cache instead
[10/14/2022-17:01:50] [I] [TRT] Some tactics do not have sufficient workspace memory to run. Increasing workspace size may increase performance, please check verbose output.
[10/14/2022-17:01:50] [I] [TRT] Detected 1 inputs and 1 output network tensors.
[10/14/2022-17:01:50] [I] [TRT] Total Host Persistent Memory: 5440
[10/14/2022-17:01:50] [I] [TRT] Total Device Persistent Memory: 0
[10/14/2022-17:01:50] [I] [TRT] Total Scratch Memory: 0
[10/14/2022-17:01:50] [I] [TRT] [MemUsageStats] Peak memory usage of TRT CPU/GPU memory allocators: CPU 1 MiB, GPU 4 MiB
[10/14/2022-17:01:50] [W] [TRT] TensorRT was linked against cuBLAS/cuBLAS LT 11.4.2 but loaded cuBLAS/cuBLAS LT 11.4.1
[10/14/2022-17:01:50] [I] [TRT] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +0, GPU +8, now: CPU 619, GPU 629 (MiB)
[10/14/2022-17:01:50] [I] [TRT] [MemUsageChange] Init cuDNN: CPU +0, GPU +8, now: CPU 619, GPU 637 (MiB)
[10/14/2022-17:01:50] [W] [TRT] TensorRT was linked against cuDNN 8.2.0 but loaded cuDNN 8.1.0
[10/14/2022-17:01:50] [I] [TRT] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +0, GPU +0, now: CPU 619, GPU 621 (MiB)
[10/14/2022-17:01:50] [I] [TRT] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +0, GPU +0, now: CPU 619, GPU 605 (MiB)
[10/14/2022-17:01:50] [I] [TRT] [MemUsageSnapshot] Builder end: CPU 619 MiB, GPU 605 MiB
[10/14/2022-17:01:50] [W] [TRT] TensorRT was linked against cuBLAS/cuBLAS LT 11.4.2 but loaded cuBLAS/cuBLAS LT 11.4.1
[10/14/2022-17:01:50] [I] [TRT] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +0, GPU +8, now: CPU 617, GPU 613 (MiB)
[10/14/2022-17:01:50] [I] [TRT] [MemUsageChange] Init cuDNN: CPU +0, GPU +8, now: CPU 617, GPU 621 (MiB)
[10/14/2022-17:01:50] [W] [TRT] TensorRT was linked against cuDNN 8.2.0 but loaded cuDNN 8.1.0
[10/14/2022-17:01:50] [I] Input:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@%.:@@@@@@@@@@@@
@@@@@@@@@@@@@: *@@@@@@@@@@@@
@@@@@@@@@@@@* =@@@@@@@@@@@@@
@@@@@@@@@@@% :@@@@@@@@@@@@@@
@@@@@@@@@@@- *@@@@@@@@@@@@@@
@@@@@@@@@@# .@@@@@@@@@@@@@@@
@@@@@@@@@@: #@@@@@@@@@@@@@@@
@@@@@@@@@+ -@@@@@@@@@@@@@@@@
@@@@@@@@@: %@@@@@@@@@@@@@@@@
@@@@@@@@+ +@@@@@@@@@@@@@@@@@
@@@@@@@@:.%@@@@@@@@@@@@@@@@@
@@@@@@@% -@@@@@@@@@@@@@@@@@@
@@@@@@@% -@@@@@@#..:@@@@@@@@
@@@@@@@% +@@@@@-    :@@@@@@@
@@@@@@@% =@@@@%.#@@- +@@@@@@
@@@@@@@@..%@@@*+@@@@ :@@@@@@
@@@@@@@@= -%@@@@@@@@ :@@@@@@
@@@@@@@@@- .*@@@@@@+ +@@@@@@
@@@@@@@@@@+  .:-+-: .@@@@@@@
@@@@@@@@@@@@+:    :*@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@

[10/14/2022-17:01:50] [I] Output:
0: 
1: 
2: 
3: 
4: 
5: 
6: **********
7: 
8: 
9: 

[10/14/2022-17:01:50] [I] [TRT] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +0, GPU +0, now: CPU 617, GPU 605 (MiB)
&&&& PASSED TensorRT.sample_mnist [TensorRT v8000] # ./sample_mnist

执行到以上步骤后,我发现python命令并不能加载tensorrt,因此需要继续安装TensorRT

安装TensorRT

cd TensorRT-8.0.0.3/python/

根据自己环境安装,python是哪个版本cp后跟什么数。比如:

pip3 install tensorrt-8.0.0.3-cp37-none-linux_x86_64.whl # python3.7 --> cp37
或者
pip install tensorrt-8.0.0.3-cp27-none-linux_x86_64.whl # python2.7 --> cp27

安装uff

cd ../uff/
pip3 install uff-0.6.5-py2.py3-none-any.whl

安装graphsurgeon

cd ../graphsurgeon/
pip3 install graphsurgeon-0.4.1-py2.py3-none-any.whl

复制tensorrt库

cd ..
cp -r lib/* /usr/lib
cp -r include/* /usr/include

测试
没有报错说明安装成功:

python3
>>> import tensorrt
>>> import uff

TensorRT错误1

运行可执行文件时,我使用的是命令sudo ./sample_mnist,结果报错,提示错误

./sample_mnist: error while loading shared libraries: libnvinfer.so.8: cannot open shared object file: No such file or directory

脑残错误,不应该使用sudo,应该改成如下命令才对

./sample_mnist

TensorRT错误2

&&&& RUNNING TensorRT.sample_mnist [TensorRT v8000] # ./sample_mnist
[10/14/2022-15:44:05] [I] Building and running a GPU inference engine for MNIST
[10/14/2022-15:44:05] [W] [TRT] Unable to determine GPU memory usage
[10/14/2022-15:44:05] [W] [TRT] Unable to determine GPU memory usage
[10/14/2022-15:44:05] [I] [TRT] [MemUsageChange] Init CUDA: CPU +1, GPU +0, now: CPU 6, GPU 0 (MiB)
[10/14/2022-15:44:05] [F] [TRT] [runtime.cpp::isCudaInstalledCorrectly::39] Error Code 6: Internal Error (CUDA initialization failure with error 999. Please check your CUDA installation:  http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html)
&&&& FAILED TensorRT.sample_mnist [TensorRT v8000] # ./sample_mnist

解决方案: 装完要重启!

总结

最大的坑就是,自信的我一直在试图解决配置问题,忘了NVIDIA驱动需要电脑重启一下。

<think>嗯,用户想在Ubuntu 20.04 LTS上用深度学习方法替代欧几里得聚类算法,提高点云数据中立柱识别的准确率。这需要我提供具体的实施步骤和所需的配置环境。首先,我需要回顾一下相关的引用内容,看看有没有可用的信息。 根据引用[1],Ubuntu20.04下配置深度学习环境包括换国内源、安装GPU驱动、Anaconda、CUDAcuDNN、PyTorch-GPU和TensorFlow。这可能涉及到环境配置的基础步骤。引用[2]提到一个详细的Ubuntu 20.04配置指南,可能包含系统优化和设置,这对后续的深度学习训练可能有帮助。引用[3]是关于安装Ubuntu的教程,可能用户已经安装好了系统,但如果有问题可以参考。引用[4]是安装Putty的步骤,可能暂时用不上,不过说明用户可能在使用远程服务器,需要注意相关配置。 首先,用户需要安装必要的深度学习环境,包括GPU驱动、CUDAcuDNN,以及深度学习框架如PyTorch或TensorFlow。然后,可能需要选择一个适合点云处理的深度学习模型,比如PointNet、PointNet++或者PointCNN。接下来,数据准备和处理是关键,点云数据可能需要转换为模型能接受的格式,比如体素化或使用点云库处理。 然后,训练模型需要准备数据集,可能需要进行标注,用户可能需要使用工具如CloudCompare或者自定义脚本处理数据。训练过程中可能需要调整参数,使用验证集进行调优,最后在测试集上评估模型。部署模型时,可能需要将训练好的模型集成到现有的点云处理流程中,替换原来的欧几里得聚类算法。 需要注意的还有,环境配置中的细节,比如换国内源加快下载速度,正确安装GPU驱动以避免兼容性问题,以及选择合适的框架版本。例如,PyTorch和TensorFlow对CUDA版本有不同的要求,用户需要根据引用[1]中的步骤安装对应版本。 另外,用户提到优化点云聚类算法,可能需要比较不同模型的性能,比如PointNet在处理小物体时的表现,或者更复杂的模型如PointTransformer是否更适合立柱识别。数据增强也是提高准确率的关键步骤,比如旋转、缩放点云数据以增加多样性。 可能还需要考虑计算资源,如果使用GPU加速训练,确保CUDAcuDNN正确安装。引用[1]中提到了pytorch-gpu的安装步骤,用户需要按照指引操作。同时,使用Anaconda管理Python环境可以避免依赖冲突。 最后,实施步骤需要分阶段:环境配置、数据准备、模型选择与训练、模型评估与部署。每个阶段都需要详细的说明,确保用户能逐步操作。可能还需要推荐一些点云处理库,如Open3D或PCL,用于数据预处理和后处理。 总结来说,回答的结构应包括环境配置、数据准备、模型训练、部署优化,每一步都结合引用中的配置指南,确保用户能正确设置环境,并选择合适的工具和框架来完成深度学习模型的开发和部署。</think>### 分步实施步骤及环境配置 #### **一、系统环境配置** 1. **更新系统与换国内源** ```bash sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list sudo apt update && sudo apt upgrade -y ``` 参考国内镜像源加速软件下载[^1]。 2. **安装GPU驱动** - 查看可用驱动: ```bash ubuntu-drivers devices ``` - 安装推荐驱动(如NVIDIA驱动): ```bash sudo ubuntu-drivers autoinstall ``` 重启后验证:`nvidia-smi`。 3. **安装Anaconda** ```bash wget https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh bash Anaconda3-2023.03-Linux-x86_64.sh source ~/.bashrc ``` 4. **配置CUDAcuDNN** - 根据PyTorch/TensorFlow版本要求选择CUDA版本(如CUDA 11.8): ```bash wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run sudo sh cuda_11.8.0_520.61.05_linux.run ``` - 下载匹配的cuDNN并解压至CUDA目录[^1]。 5. **安装深度学习框架** - PyTorch(GPU版本): ```bash conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia ``` - 或TensorFlow: ```bash pip install tensorflow-gpu ``` --- #### **二、点云数据处理与工具准备** 1. **安装点云处理库** - **Open3D**(推荐用于可视化与预处理): ```bash pip install open3d ``` - **PyTorch3D**(3D深度学习支持): ```bash conda install -c fvcore -c iopath -c conda-forge fvcore iopath conda install -c pytorch3d pytorch3d ``` 2. **数据预处理** - 使用`Open3D`对点云进行降采样、去噪、归一化: ```python import open3d as o3d pcd = o3d.io.read_point_cloud("input.pcd") pcd = pcd.voxel_down_sample(voxel_size=0.05) # 体素降采样 o3d.io.write_point_cloud("processed.pcd", pcd) ``` --- #### **三、深度学习模型选择与训练** 1. **模型选择** - **PointNet++**:适合局部特征提取,适合立柱等规则形状识别[^2]。 GitHub参考实现: ```bash git clone https://github.com/yanx27/Pointnet_Pointnet2_pytorch.git ``` - **RandLA-Net**:高效处理大规模点云,适合实时场景。 2. **数据标注与格式转换** - 使用标注工具(如`CloudCompare`)标注立柱区域,生成标签文件(如`.txt`或`.json`)。 - 转换为模型输入格式(如HDF5或自定义数据集): ```python import h5py with h5py.File("dataset.h5", "w") as f: f.create_dataset("points", data=point_clouds) f.create_dataset("labels", data=labels) ``` 3. **模型训练** - 示例代码(以PyTorch为例): ```python import torch from model import PointNet2Cls model = PointNet2Cls(num_classes=2) # 立柱 vs 非立柱 optimizer = torch.optim.Adam(model.parameters(), lr=0.001) criterion = torch.nn.CrossEntropyLoss() for epoch in range(100): for points, labels in dataloader: pred = model(points) loss = criterion(pred, labels) loss.backward() optimizer.step() ``` --- #### **四、模型部署与优化** 1. **模型导出** - 将训练好的模型导出为ONNX或TorchScript格式: ```python torch.onnx.export(model, dummy_input, "model.onnx") ``` 2. **集成到点云处理流程** - 使用Open3D加载模型并推理: ```python import onnxruntime as ort sess = ort.InferenceSession("model.onnx") inputs = {"input": preprocessed_points} pred = sess.run(None, inputs) ``` 3. **性能优化** - 使用TensorRT加速推理: ```bash trtexec --onnx=model.onnx --saveEngine=model.trt ``` --- ### **所需工具清单** | 工具/库 | 用途 | 安装方式 | |------------------|---------------------------|------------------------| | NVIDIA驱动 | GPU加速 | `ubuntu-drivers autoinstall` | | PyTorch/TensorFlow | 深度学习框架 | Conda/Pip | | Open3D | 点云可视化与预处理 | `pip install open3d` | | PyTorch3D | 3D深度学习扩展 | Conda | | ONNX Runtime | 跨平台模型推理 | `pip install onnxruntime` | --- ### **常见问题与优化建议** 1. **性能瓶颈分析** - 若GPU利用率低,检查数据加载是否启用多线程(`num_workers=4`)。 - 使用`nvprof`分析CUDA核函数耗时。 2. **数据增强策略** - 添加随机旋转、平移、缩放,提升泛化性: ```python points = points @ rotation_matrix + noise ``` 3. **模型轻量化** - 使用知识蒸馏或量化(如PyTorch的`torch.quantization`)压缩模型。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值