Skip to content

Commit 5651a6a

Browse files
authored
Merge pull request #2 from automaticdai/master
Add posts
2 parents 30edbdf + c4b9836 commit 5651a6a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+112
-82
lines changed

.github/workflows/jekyll.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# This workflow uses actions that are not certified by GitHub.
2+
# They are provided by a third-party and are governed by
3+
# separate terms of service, privacy policy, and support
4+
# documentation.
5+
6+
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
7+
name: Deploy Jekyll site to Pages
8+
9+
on:
10+
# Runs on pushes targeting the default branch
11+
push:
12+
branches: ["master"]
13+
14+
# Allows you to run this workflow manually from the Actions tab
15+
workflow_dispatch:
16+
17+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
18+
permissions:
19+
contents: read
20+
pages: write
21+
id-token: write
22+
23+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
24+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
25+
concurrency:
26+
group: "pages"
27+
cancel-in-progress: false
28+
29+
jobs:
30+
# Build job
31+
build:
32+
runs-on: ubuntu-latest
33+
steps:
34+
- name: Checkout
35+
uses: actions/checkout@v4
36+
- name: Setup Ruby
37+
uses: ruby/setup-ruby@8575951200e472d5f2d95c625da0c7bec8217c42 # v1.161.0
38+
with:
39+
ruby-version: '3.1' # Not needed with a .ruby-version file
40+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
41+
cache-version: 0 # Increment this number if you need to re-download cached gems
42+
- name: Setup Pages
43+
id: pages
44+
uses: actions/configure-pages@v5
45+
- name: Build with Jekyll
46+
# Outputs to the './_site' directory by default
47+
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
48+
env:
49+
JEKYLL_ENV: production
50+
- name: Upload artifact
51+
# Automatically uploads an artifact from the './_site' directory by default
52+
uses: actions/upload-pages-artifact@v3
53+
54+
# Deployment job
55+
deploy:
56+
environment:
57+
name: github-pages
58+
url: ${{ steps.deployment.outputs.page_url }}
59+
runs-on: ubuntu-latest
60+
needs: build
61+
steps:
62+
- name: Deploy to GitHub Pages
63+
id: deployment
64+
uses: actions/deploy-pages@v4

_config.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@
2121
title: YF Robotics Lab
2222
email: yfrobotics@gmail.com
2323
description: >- # this means to ignore newlines until "baseurl:"
24-
Write an awesome description for your new site here. You can edit this
25-
line in _config.yml. It will appear in your document head meta (for
26-
Google search results) and in your feed.xml site description.
24+
YF Robotics Lab
2725
baseurl: "" # the subpath of your site, e.g. /blog
2826
url: "" # the base hostname & protocol for your site, e.g. http://example.com
2927
twitter_username: yfrobotics

_posts/2020-10-18_community-campaign.md renamed to _posts/2020-10-18-community-campaign.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
---
22
layout: post
3-
title: "Welcome to Jekyll21212"
4-
date: 2024-11-12 03:51:06 +0000
5-
categories: jekyll update3
3+
title: "写在云飞机器人实验室改版之际"
4+
date: 2020-10-18 03:51:06 +0000
5+
categories: jekyll update
66
---
7-
# 写在云飞机器人实验室改版之际
87

98
云飞实验室自2010年成立至今,风风雨雨已十载。
109

_posts/2020-11-29_nvidia-jetson-nano-intro-and-guidance.md renamed to _posts/2020-11-29-nvidia-jetson-nano-intro-and-guidance.md

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
11
---
22
layout: post
3-
title: "Welcome to Jekyll!"
4-
date: 2024-11-12 03:51:06 +0000
5-
categories: jekyll update2
3+
title: "Nvidia Jetson Nano介绍与使用指南"
4+
date: 2020-11-29 03:51:06 +0000
5+
categories: jekyll update
66
---
7-
# Nvidia Jetson Nano介绍与使用指南
87

98
[toc]
109

11-
![jetson-outofbox.JPG](assets/nvidia-jetson-nano-intro-and-guidance/jetson-outofbox.JPG)
10+
![jetson-outofbox.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/jetson-outofbox.JPG)
1211

1312
> 本文介绍了Nvidia Jetson Nano的硬件参数、性能、使用方法及个人主观的使用体验。
1413
1514
## 1. Jetson简介
1615

1716
Jetson Nano是Nvidia在TX2和Xavier获得成功后推出的低配版GPU运算平台。我在Jetson Nano 2019年3月刚上市的时候就入手了一块开发套件(英国Pimoroni购入,110磅)。这次乘着短暂的假期,来补一下对它的评测。谈一个硬件平台,首先绕不开的就是它的纸面参数。在官方的资料上,Jetson Nano公布的参数如下:
1817

19-
![5ea1fa3fce538f099800009c](assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009c.png)
18+
![5ea1fa3fce538f099800009c](/assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009c.png)
2019

2120
Nano最大的特色就是包含了一块128核Maxwell架构的GPU,虽然已经是几代前的架构,不过因为用于嵌入式设备,从功耗、体积、价格上也算一个平衡。Nano的计算能力不高,勉强可以使用一些小规模、并且优化过的网络进行推理,训练的话还是不够用的。A53的CPU中规中矩,隔壁的树莓派4已经升级为A72。4GB的内存并不能完全使用,因为其中有一部分(1GB左右)是和显存共享的。Jetson Nano的最大优势还是在体积上,它采用核心板可拆的设计,核心板的大小只有70 x 45 mm,可以很方便的集成在各种嵌入式应用中。同时它的功耗也非常低,有两种模式:
2221

@@ -27,29 +26,29 @@ Nano最大的特色就是包含了一块128核Maxwell架构的GPU,虽然已经
2726

2827
Jetson Nano Developer Kit的整体做工十分好,符合Nvidia的一贯质量,这里分享几个图片:
2928

30-
![DSC00697.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00697.JPG)
29+
![DSC00697.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00697.JPG)
3130

3231
▲ Jetson Nano开发套件的背面,可见做工十分精良 ▲
3332

34-
![DSC00704.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00704.JPG)
33+
![DSC00704.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00704.JPG)
3534

3635
▲ Jetson Nano套件的核心板为可拆卸设计,将主板拆卸后会露出一路M.2接口的单路PCIE,可接无线网卡 ▲
3736

38-
![DSC00703.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00703.JPG)
37+
![DSC00703.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00703.JPG)
3938

4039
▲ Jetson Nano核心板的背面,也是安装SD卡的位置 ▲
4140

4241
Jetson Nano的硬件布局如下 (对应A02版本; B01版本除了电源按钮接口和额外一路CSI外,其他布局基本相同):
4342

44-
![5ea1fa3fce538f099800009c](assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f0998000099.png)
43+
![5ea1fa3fce538f099800009c](/assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f0998000099.png)
4544

4645
值得注意的是,Jetson Nano除了之前提到的核心板分离式设计(J2),还包括了一个M.2接口,可以用来外接无线网卡。除此之外,Jetson Nano有与树莓派兼容的外设接口(J41);风扇接口(J15);摄像头接口(J13);以及USB和HDMI。另外J40是按键接口,类似PC主板上的接口,各个接口的说明如下,不用的话直接悬空:
4746

48-
![5ea1fa3fce538f099800009c](assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009d.png)
47+
![5ea1fa3fce538f099800009c](/assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009d.png)
4948

5049

5150

52-
![DSC00698.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00698.JPG)
51+
![DSC00698.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00698.JPG)
5352

5453
▲ Jetson Nano的外设接口,从左至右分别为:电源接口、HDMI、DisplayPort、USB、以太网接口及USB供电接口 ▲
5554

@@ -79,7 +78,7 @@ Jetson整个系列型号的对比如下:
7978

8079
官方给出了常见CNN模型在使用TensorRT下得出的帧率(FP16, batch size = 1):
8180

82-
![fdc5b8d044de7024501e0f3bcf67da88.png](assets/nvidia-jetson-nano-intro-and-guidance/fdc5b8d044de7024501e0f3bcf67da88.png)
81+
![fdc5b8d044de7024501e0f3bcf67da88.png](/assets/nvidia-jetson-nano-intro-and-guidance/fdc5b8d044de7024501e0f3bcf67da88.png)
8382

8483
可见大部分模型为可用状态(FPS > 10),其中ResNet、Mobilenet和Tiny Yolo性能优异,可以达到30帧,已经可以用于移动场景了。注意这里使用的是Nvidia自己优化的TensorRT,而不是标准的Tensor库。Nvidia没有公布太多具体的细节,但是提到使用了kernel auto-tuning、dynamic tensor memory、layer fusion和quantization (FP16/INT8) 等方法来加速网络的执行效率,这点还是非常优秀的。
8584

@@ -95,7 +94,7 @@ Jetson整个系列型号的对比如下:
9594

9695
Jetson Nano在使用的时候**一定要用一个风扇压一下**,不然会因为被动散热能力不够而频繁死机。我用的是Noctua NF-A4x20 5V PWM。散热片的上方有四个安装风扇的固定孔,需要用自攻螺丝固定。我这里为了不造成破坏,用了四个捆扎带固定风扇。
9796

98-
![DSC00696.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00696.JPG)
97+
![DSC00696.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00696.JPG)
9998

10099
▲ Jetson Nano安装Noctua 5v风扇 ▲
101100

@@ -106,11 +105,11 @@ Jetson Nano在使用的时候**一定要用一个风扇压一下**,不然会
106105

107106
Jetson机身只有Ethernet有线网络,不包括无线网卡,使用的时候有时候不是很方便。官方推荐使用的AC8265这款2.4G/5G双模网卡,同时支持蓝牙4.2。我这里使用的是微雪AC8265网卡 + 天线套件:
108107

109-
![ac8265.jpg](assets/nvidia-jetson-nano-intro-and-guidance/ac8265.jpg)
108+
![ac8265.jpg](/assets/nvidia-jetson-nano-intro-and-guidance/ac8265.jpg)
110109

111110
安装过程非常简单,将核心板拆卸开,露出M2接口,然后将网卡插入,用一个螺丝固定即可:
112111

113-
![DSC00705.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00705.JPG)
112+
![DSC00705.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00705.JPG)
114113

115114
▲ 为Jetson Nano安装无线网卡 ▲
116115

@@ -121,7 +120,7 @@ Jetson机身只有Ethernet有线网络,不包括无线网卡,使用的时候
121120

122121
Jetson包含CSI相机接口(A01有一路;B02版本有两路),可以接树莓派摄像头(基于MX219),相机接口在如下位置(安装时注意接口的正反,信号触点面朝里):
123122

124-
![DSC00699.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00699.JPG)
123+
![DSC00699.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00699.JPG)
125124

126125
▲ Jetson Nano CSI相机接口及电源按钮接口 ▲
127126

@@ -138,7 +137,7 @@ gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=3820, height=2
138137

139138
这么贵重的电路板还是建议使用一个外壳保护一下的。虽然有些外壳的安装步骤较为繁琐,但是可以有效的防止电路板受到损坏,还是值得的。淘宝上有很多选择,但英国这里可选的余地有限(也很贵),最后买了以下这款全金属外壳:
140139

141-
![DSC00711.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00711.JPG)
140+
![DSC00711.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00711.JPG)
142141

143142
▲ Jetson Nano安装好后外壳后的样子。我选的这款金属外壳含电源按钮、天线固定口和相机支架 ▲
144143

@@ -214,13 +213,13 @@ gsettings set org.gnome.Vino require-encryption false
214213

215214
相关的示例可以在以下文件夹里找到:
216215

217-
![5ea1fa3fce538f099800009c](assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009a.png)
216+
![5ea1fa3fce538f099800009c](/assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009a.png)
218217

219218
关于JetPack的更多内容可见: [https://www.developer.nvidia.com/embedded/jetpack](https://www.developer.nvidia.com/embedded/jetpack)
220219

221220
除了JetPack,Nvidia还提供了以下开发工具:
222221

223-
![5ea1fa3fce538f099800009c](assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009b.png)
222+
![5ea1fa3fce538f099800009c](/assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009b.png)
224223

225224
除此之外,官网上还能找到很多Jetson的相关资源:
226225

@@ -257,17 +256,17 @@ $ sudo ldconfig
257256

258257
Inference Example 1. [Classifying Images with ImageNet](https://github.com/dusty-nv/jetson-inference/blob/master/docs/imagenet-console-2.md)
259258

260-
![b5ccc214a6798454da0d1a84bc8408a6.png](assets/nvidia-jetson-nano-intro-and-guidance/b5ccc214a6798454da0d1a84bc8408a6.png)
259+
![b5ccc214a6798454da0d1a84bc8408a6.png](/assets/nvidia-jetson-nano-intro-and-guidance/b5ccc214a6798454da0d1a84bc8408a6.png)
261260

262261

263262
Inference Example 2. [Locating Objects with DetectNet](https://github.com/dusty-nv/jetson-inference/blob/master/docs/detectnet-console-2.md)
264263

265-
![cfb588fb34b575ba582b064b728d4385.png](assets/nvidia-jetson-nano-intro-and-guidance/cfb588fb34b575ba582b064b728d4385.png)
264+
![cfb588fb34b575ba582b064b728d4385.png](/assets/nvidia-jetson-nano-intro-and-guidance/cfb588fb34b575ba582b064b728d4385.png)
266265

267266

268267
Inference Example 3. [Semantic Segmentation with SegNet](https://github.com/dusty-nv/jetson-inference/blob/master/docs/segnet-console-2.md)
269268

270-
![86d69d1696ddfbe9de08c52f609f1b1b.png](assets/nvidia-jetson-nano-intro-and-guidance/86d69d1696ddfbe9de08c52f609f1b1b.png)
269+
![86d69d1696ddfbe9de08c52f609f1b1b.png](/assets/nvidia-jetson-nano-intro-and-guidance/86d69d1696ddfbe9de08c52f609f1b1b.png)
271270

272271

273272
除此之外还包含了若干如何Training的教学,感兴趣的朋友自行前往阅读。

0 commit comments

Comments
 (0)