Jetson Orin Nano Super之jetson-fpv开源代码下载

Jetson Orin Nano Super之jetson-fpv开源代码下载

  • 1. 源由
  • 2. 方法
    • 2.1 优化配置
      • 方案一:增加缓冲
      • 方案二:降低并发数
      • 方案三:临时禁用深度克隆
    • 2.2 路径更换
      • 方案一:设置代理
      • 方案二:替换git协议
      • 方案三:替换https协议
      • 方案四:手动clone
  • 3. 总结
  • 4. 参考资料

1. 源由

问题还是源于国内的网络环境,应该说对于技术研发来说非常不友好。

虽然,前面有过很多方式方法,但是“与时俱进”的氛围下,友好程度也在随着外围环境发生变化。

本次为了获取jetson-fpv的代码(主要是子模块),一直下不下来,各种妖怪事情。

因此,再梳理下各种方法,另外也给出一些经验,希望对大家有帮助!

  • 时间点不同导致网络情况变化,因此可以换一个时间尝试;
  • 代理服务导致网络稳定性异常,因此可以更换代理服务器;
  • https协议与git协议的稳定性问题,因此可以更换另一种协议进行尝试;

呵呵!这篇好像名称与内容不符。好多人都这么在问。确实文字可能换成其他的更好,但是写这个主要是为了下载jetson-fpv的代码。因为,笔者升级了Jetson Orin Nano 8GB到Jetpack 6.2 版本,为了用最新的Super 67Tops性能。哈哈!!!

这个jetson-fpv就是一个fpv视频的AI视频分析应用,没什么太多的东西,目前正在评估其性能,后续会有延伸的用途(其支持C/C++/Python)。

全网首台 jetson-fpv | yolo11n | AKM ArduRover 4.5.7

注:将Jetson Orin Nano Super系统整理好,我们就带着OpenIPC去飞一圈!

2. 方法

这里给出的方法主要是技术手段,而针对时间点选取、代理服务器选取,需要自行多多尝试!!!

2.1 优化配置

方案一:增加缓冲

增加 Git 的缓冲区大小,将缓冲区设置为 500 MB。

$ git config --global http.postBuffer 524288000

方案二:降低并发数

Git 默认并发克隆子模块,可能会加重服务器的压力。尝试限制并发数 http.maxRequests 设置为较小的值(如 5),以减少压力。

$ GIT_CURL_VERBOSE=1 git -c http.maxRequests=5 submodule update --init --recursive

方案三:临时禁用深度克隆

临时禁用子模块的深度克隆:

$ git config --global fetch.recurseSubmodules false
$ git submodule update --init --recursive --depth=1

2.2 路径更换

方案一:设置代理

  • 查询
$ git config --global --get http.proxy
$ git config --global --get https.proxy
  • 设置
$ git config --global http.proxy http://192.168.1.10:808
$ git config --global https.proxy http://192.168.1.10:808
  • 取消
$ git config --global --unset http.proxy
$ git config --global --unset https.proxy

方案二:替换git协议

  • 查询协议
$ git config --file .gitmodules --get-regexp url
  • 修改git协议下载
$ git config --file .gitmodules submodule.<submodule-name>.url [email protected]:user/repo.git
$ git submodule sync
$ git submodule update --init --recursive
  • 多模块git协议替换
$ sed -i 's|https://github.com/|[email protected]:|g' .gitmodules
$ git submodule sync
$ git submodule update --init --recursive

方案三:替换https协议

  • 查询协议
$ git config --file .gitmodules --get-regexp url
  • 修改https协议下载
$ git config --file .gitmodules submodule.<submodule-name>.url https://github.com/user/repo.git
$ git submodule sync
$ git submodule update --init --recursive
  • 多模块https协议替换
$ sed -i 's|[email protected]:|https://github.com/|g' .gitmodules
$ git submodule sync
$ git submodule update --init --recursive

方案四:手动clone

$ git config --file .gitmodules --get-regexp url  //查看子模块配置URL
$ git config --file .gitmodules --get submodule.<submodule-name>.url  //获取子模块路径
$ git clone <submodule-url> <submodule-path>  //手动克隆到子模块目录
$ git submodule absorbgitdirs  //更新索引

终极方案:逐一排除问题,如果子模块很多,就需要一个一个的整理。

例如:

$ git config --file .gitmodules --get-regexp url
submodule.module/jetson-inference.url https://github.com/dusty-nv/jetson-inference.git
submodule.module/jetson-utils.url https://github.com/dusty-nv/jetson-utils.git
submodule.module/wfb-ng.url https://github.com/svpcom/wfb-ng.git
submodule.module/msposd.url https://github.com/OpenIPC/msposd.git
submodule.module/ByteTrack.url https://github.com/SnapDragonfly/ByteTrack.git
submodule.module/deepstream_python_apps.url https://github.com/NVIDIA-AI-IOT/deepstream_python_apps.git
submodule.module/DeepStream-Yolo.url https://github.com/marcoslucianops/DeepStream-Yolo.git
submodule.module/jetson-yolo.url https://github.com/SnapDragonfly/jetson-yolo.git

$ git config --file .gitmodules --get submodule.module/jetson-inference.url
https://github.com/dusty-nv/jetson-inference.git

$ git clone https://github.com/dusty-nv/jetson-inference.git module/jetson-inference

$ git submodule absorbgitdirs

3. 总结

笔者遇到的问题:时间点不同导致网络情况变化,因此可以换一个时间尝试

莫名其妙的就好了!!!

4. 参考资料

【1】Github操作网络异常笔记

你可能感兴趣的:(DIY,Drones,Linux,linux,开源,jetson-fpv)