Jetson系列Ubuntu--CUDA、cudnn快速安装(Jetson Xavier NX上实践可行)

本文档详细介绍了如何在Jetson系列设备上安装jetson-stats、CUDA 10.2和cuDNN,以及如何验证安装是否成功。通过使用APT安装方法,避免了使用nvidia-smi指令,并提供了修改.bashrc文件的指导。安装完成后,可以通过jtop和PyTorch进行验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


踩过的坑

1.**jetson系列不能用nvidia-smi指令。**需要安装jetson-stats打开jtop来查看GPU使用情况等,也可以查看CUDA/CUDNN等版本情况

2.用“普通”ubuntu的安装cuda、cudnn方法来安装jetson,我试了没成功,而且也比较麻烦。


一、安装jetson-stats

打开terminal

sudo apt-get install python3-pip
sudo -H pip3 install jetson-stats

安装完成之后直接在terminal中输入

jtop

即可启动(有些博客写需要重启,reboot一下)

二、CUDA/cuDNN安装

直接使用APT安装既简单又有效

1.CUDA

terminal输入

sudo apt-get install cuda-toolkit-10-2

安装完成之后,将以下复制到 .bashrc文件末尾

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64
export PATH=$PATH:/usr/local/cuda-10.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.2

可以手动打开.bashrc文件,也可以用命令直接打开

sudo gedit  ~/.bashrc

2.cuDNN

首先查看仓库提供的cuDNN有哪一些。terminal输入

sudo apt-cache policy libcudnn8

如果没有的话可以查看

sudo apt-cache policy libcudnn7

以此类推

我NX的JetPack 4.5.1安装cuda-10.2之后libcudnn8只有一个版本.则键入

sudo apt-get install libcudnn8

即可。若有要选择版本的话

sudo apt-get install libcudnn8=(*.*.*.**+cuda*** )

括号中为你之前查看到的版本列表中选择。


验证CUDA/cuDNN安装

jtop

info中有显示CUDA/cudnn版本号既安装成功。可以用pytorch调用cuda、cudnn验证。

>>> import torch
>>> print(torch.__version__)
>>> print('CUDA available: ' + str(torch.cuda.is_available()))
>>> print('cuDNN version: ' + str(torch.backends.cudnn.version()))
>>> a = torch.cuda.FloatTensor(2).zero_()
>>> print('Tensor a = ' + str(a))
>>> b = torch.randn(2).cuda()
>>> print('Tensor b = ' + str(b))
>>> c = a + b
>>> print('Tensor c = ' + str(c))
React Hooks 是 React 16.8 中新增的特性,它可以让你在函数组件中使用 state、生命周期钩子等 React 特性。使用 Hooks 可以让你写出更简洁、可复用且易于测试的代码。 React Hooks 提供了一系列的 Hook 函数,包括 useState、useEffect、useContext、useReducer、useCallback、useMemo、useRef、useImperativeHandle、useLayoutEffect 和 useDebugValue。每个 Hook 都有特定的用途,可以帮助你处理不同的问题。 下面是 React Hooks 的一些常用 Hook 函数: 1. useState useState 是最常用的 Hook 之一,它可以让你在函数组件中使用 state。useState 接受一个初始状态值,并返回一个数组,数组的第一个值是当前 state 值,第二个值是更新 state 值的函数。 ``` const [count, setCount] = useState(0); ``` 2. useEffect useEffect 可以让你在组件渲染后执行一些副作用操作,比如订阅事件、异步请求数据等。useEffect 接受两个参数,第一个参数是一个回调函数,第二个参数是一个数组,用于控制 useEffect 的执行时机。 ``` useEffect(() => { // 这里可以执行副作用操作 }, [dependencies]); ``` 3. useContext useContext 可以让你在组件树中获取 context 的值。它接受一个 context 对象,并返回该 context 的当前值。 ``` const value = useContext(MyContext); ``` 4. useRef useRef 可以让你在组件之间共享一个可变的引用。它返回一个对象,该对象的 current 属性可以存储任何值,并在组件的生命周期中保持不变。 ``` const ref = useRef(initialValue); ref.current = value; ``` 5. useCallback useCallback 可以让你缓存一个函数,以避免在每次渲染时都创建一个新的函数实例。它接受一个回调函数和一个依赖数组,并返回一个 memoized 的回调函数。 ``` const memoizedCallback = useCallback(() => { // 这里是回调函数的逻辑 }, [dependencies]); ``` 6. useMemo useMemo 可以让你缓存一个计算结果,以避免在每次渲染时都重新计算。它接受一个计算函数和一个依赖数组,并返回一个 memoized 的计算结果。 ``` const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]); ``` 以上就是 React Hooks 的一些常用 Hook 函数,它们可以帮助你更好地处理组件状态、副作用、上下文和性能优化等问题。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值