HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
LINK
BACK
 

2020/06/13

【2020年版】NVIDIA Jetson Nanoの初期設定、最高速で動かす設定、空きメモリを増やす方法等 【2020年版】NVIDIA Jetson Nanoの初期設定、最高速で動かす設定、空きメモリを増やす方法等

(2020年の JetPack 4.4になっても nvccのパスがデフォルトで通って無いとか、初期設定が必要です)

Tags: [Raspberry Pi], [電子工作], [ディープラーニング]




● Jetson Nano、Jetson Xavier NXの便利スクリプト

2020/07/03
【2020年版】NVIDIA Jetson Nano、Jetson Xavier NXの便利スクリプト
【2020年版】NVIDIA Jetson Nano、Jetson Xavier NXの便利スクリプト

  Jetsonの面倒な初期設定やミドルウェアのインストールを bashスクリプトの実行だけで簡単にできます


● 2020年版 NVIDIA Jetson Nanoの初期設定、最高速で動かす設定、空きメモリを増やす方法等

 2020年の JetPack 4.4になっても nvccのパスがデフォルトで通って無いとか、初期設定が必要です。

JetPack Archive


● 2020年版 NVIDIA Jetson Nanoの初期設定

# ===
uname -a

lsb_release -a

# ===
# Color Command Prompt
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w \$\[\033[00m\] '
echo "PS1='$PS1'" >> .bashrc

# ===
# bashのコマンドラインヒストリの設定
# echo export HISTCONTROL=ignoreboth >> ~/.bashrc
echo export HISTCONTROL=ignorespace:ignoredups:erasedups >> ~/.bashrc

# ===
# Jetson NANOを最高速モードにする bashスクリプト
bash -c "echo \#\!/bin/sh> jetson_clocks_max.sh"
bash -c "echo >> jetson_clocks_max.sh"
bash -c "echo sleep 5 >> jetson_clocks_max.sh"
bash -c "echo sudo nvpmodel -m 0 >> jetson_clocks_max.sh"
bash -c "echo sleep 2 >> jetson_clocks_max.sh"
bash -c "echo sudo jetson_clocks >> jetson_clocks_max.sh"
chmod +x jetson_clocks_max.sh
# nano jetson_clocks_max.sh

# NVIDIA Jetson Nano FULL power mode
sudo ./jetson_clocks_max.sh

# jetson@jetson-desktop:~ $ whoami
# jetson

IAM=`whoami`
echo $IAM
CRONCMD=`echo "@reboot /home/$IAM/jetson_clocks_max.sh > /dev/null 2>&1"`
echo $CRONCMD
(sudo crontab -l; echo "$CRONCMD") | sudo crontab -
sudo crontab -l
# @reboot /home/jetson/jetson_clocks_max.sh > /dev/null 2>&1

# ===
# add CUDA environment variable
# Jetson Nano nvcc command not found build CUDA app Error
echo 'export CUDA_HOME=/usr/local/cuda' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}' >> ~/.bashrc
echo 'export PATH=${CUDA_HOME}/bin:${PATH}' >> ~/.bashrc
source ~/.bashrc

# 自動アップデート / アップグレードを停止する
# stop apt-daily and apt-daily-upgrades
sudo systemctl mask apt-daily.service
sudo systemctl mask apt-daily.timer
sudo systemctl mask apt-daily-upgrade.service
sudo systemctl mask apt-daily-upgrade.timer

# 自動更新を停止する
# uninstall unattended-upgrades
sudo apt-get -y remove unattended-upgrades

# ===
# Jetson NANOを最新の状態にする
bash -c "echo \#\!/bin/sh > update.sh"
bash -c "echo df -h >> update.sh"
bash -c "echo sudo apt-get update >> update.sh"
# upgradeと dist-upgradeは時間が掛かるので不要な場合はコメントで
# bash -c "echo sudo apt-get -y upgrade >> update.sh"
# bash -c "echo sudo apt-get -y dist-upgrade >> update.sh"
bash -c "echo echo \$\'\\\a\' >> update.sh"
bash -c "echo df -h >> update.sh"
bash -c "echo sudo reboot >> update.sh"
bash -c "echo \# sudo poweroff >> update.sh"
chmod +x update.sh
./update.sh
# 自動的に再起動する
# ===
# NVIDIA Jetson Nano FULL power mode
sudo nvpmodel -m 0
sudo jetson_clocks

# jetson_clocksを実行した後に nvpmodelを実行すると jetson_clocksの「最高速」が解除されます

# 空きメモリの確認
free -h
#               total        used        free      shared  buff/cache   available
# Mem:           3.9G        559M        2.9G         19M        433M        3.2G
# Swap:          1.9G          0B        1.9G

# 一時的に GUI環境を無効にして空きメモリ容量を増やす
# GUIからターミナルにログインしていると、一緒に死ぬので注意
# ターミナルへの接続は SSH接続で行なう事
sudo systemctl isolate multi-user

# 空きメモリの確認
free -h
#               total        used        free      shared  buff/cache   available
# Mem:           3.9G        386M        3.1G         19M        444M        3.4G
# Swap:          1.9G          0B        1.9G

# Install cURL nano git htop
sudo apt update
sudo apt install -y curl nano git htop mercurial

# GUIを無効にして空きメモリを増やす
systemctl get-default
sudo systemctl set-default multi-user.target
sudo reboot
# GUIを有効に戻す
systemctl get-default
sudo systemctl set-default graphical.target
sudo reboot


● NVIDIA Jetson Nanoの NV Power Mode

sudo nvpmodelNV Power ModeCPU coreCPU Freq.GPU Freq.
sudo nvpmodel -m 010W MAXN mode41.428GHz921MHz
sudo nvpmodel -m 15W mode2918MHz640MHz
 ※ 10Wモード動作は 5V 4A電源が必要


● CPUのコア数を調べる方法

echo $(nproc)
# 4


● NVIDIA Jetson Nanoの Ubuntu 18.04の sudoコマンドでパスワードの入力状態を永久に保持する方法

 Jetson Nanoの Ubuntu 18.04は sudoコマンドを実行する時にセキュリティ面でパスワードを要求します。
 そして、そのパスワード入力は 5分間は有効で、別の sudoコマンドを実行する場合でも再入力の必要が有りません。

 その「5分間」の sudoコマンドのパスワードのタイムアウトの時間を変更したり、永久に保持する方法を説明します。

# sudo visudoコマンドを実行する
sudo visudo

 最初の方に有る
Defaults        env_reset
 の行を、
Defaults        env_reset, timestamp_timeout=-1
 で永久に保持する(タイムアウトしないので最初の 1回だけパスワード入力すれば良い)

Defaults        env_reset, timestamp_timeout=0
 で sudoパスワードを毎回入力

Defaults        env_reset, timestamp_timeout=30
 で 30分間有効(タイムアウト時間は 30分)

Defaults        env_reset, timestamp_timeout=60
 で 60分間有効(タイムアウト時間は 60分)

Defaults:USER_NAME      !authenticate
 でユーザー USER_NAMEのパスワードを尋ねるのを無効化

Defaults:jetson         !authenticate
 でユーザー jetsonのパスワードを尋ねるのを無効化


● NVIDIA Jetson Nanoに 6GBの Swapファイルを作成する方法

 4GBメモリに最適な 6GBのサイズのスワップファイルを作成する。

 4GBの 1.5倍 = 6GB

Debian - About Swap Space
Information and considerations related to the amount of swap to use
one and half times system memory

The recommended amount of swap space has traditionally been double the amount of system memory.
This has changed over time to one and half times system memory, both answers are decent baselines but are becoming less and less useful answers to the question as time passes.
There are many variables about your system and intended use that will determine the available system swap you will want to have.

直訳:
以前は2倍。今は1.5倍。
スワップサイズの決定には色々な要素がある。

# 既存のスワップメモリ 2GBは ZRAM
free -h
#               total        used        free      shared  buff/cache   available
# Mem:           3.9G        569M        2.8G         27M        474M        3.1G
# Swap:          1.9G          0B        1.9G

# 既存のスワップメモリ 2GBは ZRAM
swapon
# NAME              TYPE        SIZE USED PRIO
# /dev/zram0        partition 494.6M   0B    5
# /dev/zram1        partition 494.6M   0B    5
# /dev/zram2        partition 494.6M   0B    5
# /dev/zram3        partition 494.6M   0B    5

# 既存のスワップメモリを全部停止する
sudo swapoff -a
swapon

free -h
#               total        used        free      shared  buff/cache   available
# Mem:           3.9G        568M        2.8G         27M        474M        3.1G
# Swap:            0B          0B          0B

# 既存のスワップメモリ 2GBは ZRAMを無効にする
# /etc/systemd/nvzramconfig.sh
sudo systemctl disable nvzramconfig

# ZRAMを有効に戻す場合
# sudo systemctl enable nvzramconfig
# スワップファイルを作成する 6GB(6 * 1024 * 1024 * 1024 = 6442450944)
# sudo dd if=/dev/zero of=/var/tmp/swap.img bs=1M count=6144
# 8GBの場合は -l 8gにする
sudo fallocate -l 6g /var/tmp/swap.img

ls -l /var/tmp/swap.img
# -rw-r--r-- 1 root root 6442450944  6月 25 19:14 /var/tmp/swap.img

# スワップファイルをスワップ領域として設定する
sudo mkswap /var/tmp/swap.img

# chmodでスワップファイルの属性を変更する
sudo chmod 0600 /var/tmp/swap.img

# スワップファイルをスワップ領域として有効にする
sudo swapon -p 1 /var/tmp/swap.img

# スワップ領域の確認
swapon
# NAME              TYPE SIZE USED PRIO
# /var/tmp/swap.img file   6G   0B    1

free -h
#               total        used        free      shared  buff/cache   available
# Mem:           3.9G        574M        3.1G         26M        233M        3.1G
# Swap:          6.0G          0B        6.0G

# 再起動したら上記の設定は忘れて無効になる
# 再起動した時にも上記の設定を永続化したい場合は下記の設定が追加で必要

# スワップ領域を /etc/fstabに記述する
sudo nano /etc/fstab

/var/tmp/swap.img         none                    swap    defaults        0 0

# nanoエディタで書き換えるのが面倒な場合は下記のコマンドラインで簡単に設定できる
sudo sh -c "echo /var/tmp/swap.img none swap defaults 0 0 >>/etc/fstab"

# /etc/fstabに記述したスワップ領域を有効にする
sudo swapon -a

cat /etc/fstab
# <file system> <mount point> <type> <options>  <dump> <pass>
# /dev/root            /        ext4   defaults   0 1
# /var/tmp/swap.img none swap defaults 0 0

# 再起動する
sudo reboot
# 再起動した後も 6GBのスワップが有効な事を確認する

swapon
# NAME              TYPE SIZE USED PRIO
# /var/tmp/swap.img file   6G   0B   -1


● 2020年の JetPack 4.4になっても CMakeのバージョンが滅茶苦茶古いので新しいバージョンをビルドする

 CMakeのバージョンが古いと OpenPoseのビルド時にエラーが発生する。
【2020年版】NVIDIA Jetson用に最新の CMake 3.17.3をビルドしてインストールする方法
【2020年版】NVIDIA Jetson用に最新の CMake 3.17.3をビルドしてインストールする方法

  2020年の JetPack 4.4になっても CMakeのバージョンが 3.10.2と古く OpenPoseのビルドでエラー発生の原因



● NVIDIA Jetson Nanoで OpenCV 3をビルドしてインストールする方法、NVCaffe等の OpenCV 4未対応を動かす

 JetPack 4.3以降は OpenCV 4.1.1がインストールされています。

 NVIDIA Jetson Nanoに「古い」 OpenCV 3.4.10をビルドしてインストールする方法

 2020/04現在(JetPack 4.3以降)は Jetson Nano OSは OpenCV4になっているので NVCaffe等の OpenCV3用の物が動きません。

2020/04/25
NVIDIA Jetson Nanoで OpenCV 3をビルドしてインストールする方法、NVCaffe等の OpenCV 4未対応を動かす
NVIDIA Jetson Nanoで OpenCV 3をビルドしてインストールする方法、NVCaffe等の OpenCV 4未対応を動かす

  NVIDIA Jetson Nanoに「古い」 OpenCV 3.4.10をビルドしてインストールする方法


● NVIDIA Jetson Nano NVCaffe 0.17.3

 あらかじめ OpenCV 3.4.10をビルドしてインストールしておく。

NVCaffe
 NVIDIA Caffe is an NVIDIA-maintained fork of BVLC Caffe tuned for NVIDIA GPUs, particularly in multi-GPU configurations. Here are the major features:

Overview Of NVCaffe


2019/05/06
【ビルド版】NVIDIA Jetson Nanoで NVIDIA版 Caffe NVCaffeを GPUパワーで動かしてキモイ絵をモリモリ量産
【ビルド版】NVIDIA Jetson Nanoで NVIDIA版 Caffe NVCaffeを GPUパワーで動かしてキモイ絵をモリモリ量産

  NVIDIA Jetson Nanoで NV_Caffe Deep Learningをビルドして CUDAで DeepDreamを動かしてキモイ絵を生成する

cd
# NVCaffe May 1, 2019 v0.17.3 fd6cf7a
git clone https://github.com/NVIDIA/caffe --depth 1 -b v0.17.3
cd caffe



Tags: [Raspberry Pi], [電子工作], [ディープラーニング]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

【2020年版】NVIDIA Jetson Nano、Jetson Xavier NXの便利スクリプト
【2020年版】NVIDIA Jetson Nano、Jetson Xavier NXの便利スクリプト

  Jetsonの面倒な初期設定やミドルウェアのインストールを bashスクリプトの実行だけで簡単にできます

【2020年】Jetson Xavier NX 開発者キットが安かったので衝動買いした件、標準販売価格5万円が4万4千円!
【2020年】Jetson Xavier NX 開発者キットが安かったので衝動買いした件、標準販売価格5万円が4万4千円!

  【ザビエル元年】Jetson Xavier NX 開発者キットを最安値で購入で、しかも国内在庫で注文から翌日で到着、ザビエル開封レビュー

【2020年版】NVIDIA Jetson用に最新の CMake 3.17.3をビルドしてインストールする方法
【2020年版】NVIDIA Jetson用に最新の CMake 3.17.3をビルドしてインストールする方法

  2020年の JetPack 4.4になっても CMakeのバージョンが 3.10.2と古く OpenPoseのビルドでエラー発生の原因

【2020年版】NVIDIA JetPack 4.4 DP Developer Previewで OpenPoseのビルドエラーの対策方法
【2020年版】NVIDIA JetPack 4.4 DP Developer Previewで OpenPoseのビルドエラーの対策方法

  Jetson Nano、Jetson Xavier NX 開発者キット + JetPack 4.4 DPで OpenPoseをビルドする手順

Jetson Nano、Jetson Xavier NX 開発者キット TensorFlow on Jetson Platform
Jetson Nano、Jetson Xavier NX 開発者キット TensorFlow on Jetson Platform

  NVIDIA Jetson Nano、Jetson Xavier NX Developer TensorFlow on Jetson Platform

NVIDIA Jetson Nano 開発者キットを買ってみた。メモリ容量 4GB LPDDR4 RAM
NVIDIA Jetson Nano 開発者キットを買ってみた。メモリ容量 4GB LPDDR4 RAM

  Jetson Nanoで TensorFlow PyTorch Caffe/Caffe2 Keras MXNet等を GPUパワーで超高速で動かす!

【2020年版】NVIDIA Jetson Nano JetPackのバージョン情報まとめ、JetPack 4.4は仕様変更の影響が大きい
【2020年版】NVIDIA Jetson Nano JetPackのバージョン情報まとめ、JetPack 4.4は仕様変更の影響が大きい

  最新の JetPackでは 2019年当時の殆どの記事の内容がそのままではエラーが出て動かない様になりました

【2020年版】NVIDIA Jetson Nano対応の FFmpegをビルドする手順
【2020年版】NVIDIA Jetson Nano対応の FFmpegをビルドする手順

  NVIDIA Jetson Nano対応の FFmpegをビルドする手順、x264と x265にも対応

【2020年版】NVIDIA Jetson Nano対応の OpenPoseをビルドする手順
【2020年版】NVIDIA Jetson Nano対応の OpenPoseをビルドする手順

  NVIDIA Jetson Nano対応の OpenPoseをビルドする手順

NVIDIA Jetson Nanoで OpenCV 3をビルドしてインストールする方法、NVCaffe等の OpenCV 4未対応を動かす
NVIDIA Jetson Nanoで OpenCV 3をビルドしてインストールする方法、NVCaffe等の OpenCV 4未対応を動かす

  NVIDIA Jetson Nanoに「古い」 OpenCV 3.4.10をビルドしてインストールする方法

NVIDIA Jetson Nanoで Visual Studio Code Open Sourceをビルドして実行する
NVIDIA Jetson Nanoで Visual Studio Code Open Sourceをビルドして実行する

  NVIDIA Jetson Nanoで VSCode Open Source Code - OSSをビルドして実行する、1.35.0

【2020年版】NVIDIA Jetson Nanoで TensorFlowの StyleGANを動かして、顔画像を生成
【2020年版】NVIDIA Jetson Nanoで TensorFlowの StyleGANを動かして、顔画像を生成

  NVIDIA Jetson Nano JetPack StyleGAN、敵対的生成ネットワーク AIで自然な顔画像を生成する

【2020年版】NVIDIA Jetson Nanoで StyleGANの改良版の StyleGAN2で自然な画像を生成
【2020年版】NVIDIA Jetson Nanoで StyleGANの改良版の StyleGAN2で自然な画像を生成

  NVIDIA Jetson Nano JetPack StyleGAN2、敵対的生成ネットワーク AIで自然な顔画像を生成する

【2020年版】Jetson Nanoで StyleGANを動かして可愛い美少女のアニメ顔を大量生産する方法
【2020年版】Jetson Nanoで StyleGANを動かして可愛い美少女のアニメ顔を大量生産する方法

  【俺の嫁】Jetson Nanoで StyleGANと StyleGAN2のそれぞれで、敵対的生成ネットワーク AIでアニメ顔を生成

【メモリ8GB】Raspberry Pi 4 Model B 8GBを KSYで最安値で購入。ベンチマークレビュー
【メモリ8GB】Raspberry Pi 4 Model B 8GBを KSYで最安値で購入。ベンチマークレビュー

  【技適取得】ラズパイ4B 8GBモデルを入手。従来の Pi3、Pi3B+と速度比較

【Vulkan】Raspberry Pi 4 Model Bで Vulkanドライバをビルドして 3Dグラフィックのデモを動かす
【Vulkan】Raspberry Pi 4 Model Bで Vulkanドライバをビルドして 3Dグラフィックのデモを動かす

  【v3dv】ラズパイ4Bで Vulkan APIを動かす、VK_ICD_FILENAMES broadcom_icd.armv7l.json

PIP機能付きの 4K対応の 4入力 1出力の HDMIセレクターを買ってみた、HDMI機器が複数有る場合に便利
PIP機能付きの 4K対応の 4入力 1出力の HDMIセレクターを買ってみた、HDMI機器が複数有る場合に便利

  ピクチャ イン ピクチャ機能付き 4K入力対応の 4入力 1出力 HDMI切り換え機 HDSFX0401P

EDID保持機能付きの 4K対応の 4入力 2出力の マトリックス切り替え HDMIセレクター、液晶画面 2台と使用で最強
EDID保持機能付きの 4K対応の 4入力 2出力の マトリックス切り替え HDMIセレクター、液晶画面 2台と使用で最強

  TESmart HMA0402A30 マトリックス切り替えで液晶画面 2台に接続できて更に EDID保持の便利機能付き HDMI切り換え機




[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c) 2020 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/raspberry_pi/nvidia_jetson_nano_2020_initialize/