ubuntu22.04復現graspnet保姆級教程
1. 配置環境
1.1 確定環境
-
Ubuntu22.04
-
顯示卡驅動:Driver Version:470.239.06
-
CUDA版本(作者使用的是10.0.221)
-
根據CUDA版本確定cudnn()版本
-
根據CUDA和cudnn版本下載對應的pytorch版本
-
python==3.7.16(必須大於等於3.6)
-
pytorch==1.7.0(需求文件裡的pytorch是1.6.0版本,兩個版本都可以使用,這裡我用的1.7.0)
-
GPU名稱:NVIDIA GeForce MX150
-
當前顯示卡的CUDA算力:61
1.2 配置環境
-
檢視顯示卡以及驅動命令(470版本的驅動十分穩定,適配性高;該命令顯示的CUDA版本是該電腦所能執行的CUDA最高的版本,所以在下載CUDA時,要選擇版本號低於這個的版本)
nvidia-smi
![](https://img2024.cnblogs.com/blog/2583568/202404/2583568-20240410144227267-741621170.png) ![](https://img2024.cnblogs.com/blog/2583568/202404/2583568-20240410144254431-1006900440.png)
2.去官方網站下載對應版本的CUDA/CUDNN
https://developer.nvidia.com/cuda-toolkit-archive
https://developer.nvidia.cn/rdp/cudnn-archive
https://pytorch.org/
不會下載可以參考文章:
https://blog.csdn.net/qq_42194665/article/details/130028584
https://blog.csdn.net/Trisyp/article/details/131332354?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171272946616800178535496%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171272946616800178535496&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-131332354-null-null.142^v100^pc_search_result_base3&utm_term=ubuntu20.04%E6%80%8E%E4%B9%88%E4%B8%8B%E8%BD%BDcuda&spm=1018.2226.3001.4187
後面這篇適合小白觀看
-
建立conda環境然後下載pytorch(注意建立之後要進入環境之後再下載pytorch)
這是為了避免之前的pytorch版本的影響
conda create --name dieu python=3.7.16
source activate dieu # dieu 就是環境的name -
全部下載完成後可以用以下python程式碼檢驗:
1 import torch
2 print("是否可用:", torch.cuda.is_available()) # 檢視GPU是否可用
3 print("GPU數量:", torch.cuda.device_count()) # 檢視GPU數量
4 print("torch方法檢視CUDA版本:", torch.version.cuda) # torch方法檢視CUDA版本
5 print("GPU索引號:", torch.cuda.current_device()) # 檢視GPU索引號
6 print("GPU名稱:", torch.cuda.get_device_name(0)) # 根據索引號得到GPU名稱
7 print('CUDA版本:',torch.version.cuda)
8 print('Pytorch版本:',torch.__version__)
9 print('顯示卡是否可用:','可用' if(torch.cuda.is_available()) else '不可用')
10 print('顯示卡數量:',torch.cuda.device_count())
11 # print('是否支援BF16數字格式:','支援' if (torch.cuda.is_bf16_supported()) else '不支援')
12 print('當前顯示卡型號:',torch.cuda.get_device_name())
13 print('當前顯示卡的CUDA算力:',torch.cuda.get_device_capability())
14 print('當前顯示卡的總視訊記憶體:',torch.cuda.get_device_properties(0).total_memory/1024/1024/1024,'GB')
15 print('是否支援TensorCore:','支援' if (torch.cuda.get_device_properties(0).major >= 7) else '不支援')
16 print('當前顯示卡的視訊記憶體使用率:',torch.cuda.memory_allocated(0)/torch.cuda.get_device_properties(0).total_memory*100,'%')
2. 下載graspnet
2.1安裝graspnet檔案
git clone https://github.com/graspnet/graspnet-baseline.git
cd graspnet-baseline
pip install -r requirements.txt
2.2編譯安裝point2
cd pointnet2
python setup.py install
2.3編譯安裝knn
cd ..
cd pointnet2
python setup.py install
2.4安裝graspnetAPI
git clone https://github.com/graspnet/graspnetAPI.git
將下載好的graspnetAPI檔案移動到graspnet-baseline的目錄下
cd graspnetAPI
pip install .
2.5手動構建文件
cd docs
pip install -r requirements.txt
bash build_doc.sh
3. 下載label和weight
3.1 下載
3.2 將tolerance.tar移動到dataset目錄下面
cd dataset
tar -xvf tolerance.tar
3.3 下載預訓練權重
checkpoint-rs.tar和checkpoint-kn.tar是分別使用 RealSense 資料和 Kinect 資料進行訓練
兩個預權重只需要匯入一個就可以(建議匯入checkpoint-rs.tar,一定要記得自己的下載位置)
4. 復現demo
4.1 編輯配置
-
使用pycharm開啟graspnet-baseline檔案,配置直譯器,選擇conda的虛擬環境(使用conda來管理python包是一個很好的選擇,建立虛擬環境可以避免包的版本問題引發的報錯)
不會可以參考:
https://blog.csdn.net/weixin_43486940/article/details/123229290 -
開啟demo.py,在pycharm右上方的位置,展開,選擇編輯配置
-
在形參那裡輸入預訓練權重形參,注意後面的路徑要修改為自己儲存檔案的位置
--checkpoint_path logs/log_kn/checkpoint.tar
如果不會配置路徑的話,直接將checkpoint-rs.tar放置在graspnet-baseline目錄下面,然後在形式引數那裡輸入:
--checkpoint_path ./checkpoint-rs.tar -
執行demo.py
參考文獻:
作者郵箱:515648571@qq.com