Skip to content

Commit

Permalink
Merge pull request #2 from automaticdai/master
Browse files Browse the repository at this point in the history
Add posts
  • Loading branch information
automaticdai authored Nov 13, 2024
2 parents 30edbdf + c4b9836 commit 5651a6a
Show file tree
Hide file tree
Showing 41 changed files with 112 additions and 82 deletions.
64 changes: 64 additions & 0 deletions .github/workflows/jekyll.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll site to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["master"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@8575951200e472d5f2d95c625da0c7bec8217c42 # v1.161.0
with:
ruby-version: '3.1' # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
cache-version: 0 # Increment this number if you need to re-download cached gems
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Build with Jekyll
# Outputs to the './_site' directory by default
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
- name: Upload artifact
# Automatically uploads an artifact from the './_site' directory by default
uses: actions/upload-pages-artifact@v3

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
4 changes: 1 addition & 3 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,7 @@
title: YF Robotics Lab
email: [email protected]
description: >- # this means to ignore newlines until "baseurl:"
Write an awesome description for your new site here. You can edit this
line in _config.yml. It will appear in your document head meta (for
Google search results) and in your feed.xml site description.
YF Robotics Lab
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
twitter_username: yfrobotics
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
layout: post
title: "Welcome to Jekyll21212"
date: 2024-11-12 03:51:06 +0000
categories: jekyll update3
title: "写在云飞机器人实验室改版之际"
date: 2020-10-18 03:51:06 +0000
categories: jekyll update
---
# 写在云飞机器人实验室改版之际

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

Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
---
layout: post
title: "Welcome to Jekyll!"
date: 2024-11-12 03:51:06 +0000
categories: jekyll update2
title: "Nvidia Jetson Nano介绍与使用指南"
date: 2020-11-29 03:51:06 +0000
categories: jekyll update
---
# Nvidia Jetson Nano介绍与使用指南

[toc]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

▲ Jetson Nano安装Noctua 5v风扇 ▲

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

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

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

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

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

▲ 为Jetson Nano安装无线网卡 ▲

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Expand Down Expand Up @@ -257,17 +256,17 @@ $ sudo ldconfig

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

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


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

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


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

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


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

0 comments on commit 5651a6a

Please sign in to comment.