2020年1月31日 星期五

奇怪的apt-get upgrade

今天重新裝raspbian, 然後想說先更新一下, 結果一打就出現錯誤訊息. 囧


pi@raspberrypi:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 vlc-bin : Depends: libvlc-bin (= 3.0.8-0+deb10u1+rpt1) but 3.0.8-0+deb10u1+rpt7 is to be installed
 vlc-plugin-skins2 : Depends: vlc-plugin-qt (= 3.0.8-0+deb10u1+rpt7) but 3.0.8-0+deb10u1+rpt1 is to be installed
E: Broken packages


很奇妙的是, 改用 sudo apt upgrade 似乎就可以了!?
然後再加上 --fix-missing, 就順利更新了

(不知道為什麼  囧)

後來又遇到站台問題, 直接改成NCHC的 (來源: https://www.raspbian.org/RaspbianMirrors
)

sudo nano /etc/apt/sources.list

原本: deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
修改成: deb http://free.nchc.org.tw/raspbian/raspbian/ buster main contrib non-free rpi


2020年1月30日 星期四

Virtualbox could not switch the monitor configuration crtc 63

今天開工, 一打開virtualbox就一直遇到這個訊息:

"could not switch the monitor configuration crtc 63"

後來用去虛擬機設定, 把顯示的記憶體從16MB改成64MB就好了

(我也不知道為什麼 XD)

2020年1月17日 星期五

Nvidia Nano 進入 Recovery mode

正在研究用SDK manager刷Nano (因為可以直接內建Deepstream!?)

做到後面需要把Nano設為Recovery mode

簡單說:
* 找兩個Jumper, 一個插在J48上 (可以用變壓器供電), 一個插在J40的PIN 3, 4上. 雖然手冊PDF有寫PIN 3, 4是哪兩個, 可是從那個看不出方向. 其實板子底部有印刷文字, 找FRC的腳位就好.

* Jumper弄好後, 用變壓器供電, 然後用micro USB線把Nano跟電腦連接在一起, 電腦端會偵測到有USB裝置, 然後就可以刷了

* Nano進入Recovery mode後, HDMI輸出沒有畫面


https://devtalk.nvidia.com/default/topic/1050888/jetson-nano/power-and-suspend-buttons-for-jetson-nano/post/5333577/

https://developer.download.nvidia.com/assets/embedded/secure/jetson/Nano/docs/NVIDIA_Jetson_Nano_Developer_Kit_User_Guide.pdf

Camera SLAM on PI?

找一篇討論串

有機會來試試看
https://gist.github.com/nickoala/8d7e0bc24be3cec459e63bc1eb8cc858

只是速度好像有點悲劇 QQ
"running on Pi 3, I was able to get 1-2 frames per second."

2020年1月15日 星期三

N2D: (Not Too) Deep Clustering

前陣子再找sensor data的機器學習分類方式, 看到這個N2D

之後來研究看看(!?)

Not too deep clustering is a state of the art "deep" clustering technique, in which first, the data is embedded using an autoencoder. Then, instead of clustering that using some deep clustering network, we use a manifold learner to find the underlying (local) manifold in the embedding. Then, we cluster that manifold. In the paper, this was shown to produce high quality clusters without the standard extreme feature engineering required for clustering.

Project description
https://pypi.org/project/n2d/

Welcome to n2d’s documentation!
https://n2d.readthedocs.io/en/latest/


https://github.com/rymc/n2d


Paper
N2D: (Not Too) Deep Clustering via Clustering the Local Manifold of an Autoencoded Embedding
https://arxiv.org/abs/1908.05968


調整虛擬機的硬碟大小


簡單說分成兩個步驟

1. 在virtualbox上設定硬碟大小為 XX GB

2. 設定完後, 回虛擬機的系統裡面調整磁區大小


1的作法:
cd “C:\Program Files\Oracle\VirtualBox”
VBoxManage modifymedium disk “C:\Users\xxxxxxxx.vdi” --resize 81920
# 這個例子是80 GB

Ref: https://www.howtogeek.com/124622/how-to-enlarge-a-virtual-machines-disk-in-virtualbox-or-vmware/



2的作法:
在ubuntu裡面就可以裝gparted, 然後直接調整 XD
不過預設磁碟後面是swap, 所以要先刪掉, 然後再調整大小, 最後再把swap加回去

https://unix.stackexchange.com/questions/196512/how-to-extend-filesystem-partition-on-ubuntu-vm


--
好吧, 這篇是寫給自己看的 XD

2020年1月14日 星期二

Nvidia Nano 版本型號差異

在這邊看到:

The main difference between the two is that the Jetson Nano Module has eMMC storage built-in, and comes with a longer warranty, to be used as a component in a total system, and the jetson Nano Developer Kit requires that you add your own microSD card for storage, and comes with a shorter warranty, for direct sale to consumers/developers.
There should be no performance difference for the GPU itself as far as I can tell.


簡單說

Jetson Nano Module: 有內建記憶體

Jetson Nano Developer Kit: 要插SD卡

make menuconfig之後, 要重新config

最近在試著重新編譯PI的kernel
https://www.raspberrypi.org/documentation/linux/kernel/building.md


可是執行make menuconfig後, 會一直出現restart config, 然後要重新一個一個設定

後來下面連結的討論才發現應該要設定ARM的參數才對:
https://stackoverflow.com/questions/13636129/make-modules-install-restarts-configuration-process


原本的:
make menuconfig

應該是
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

最後再繼續
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs

2020年1月9日 星期四

Nvidia Jetson Nano + YOLOv3 測試結果

稍微實際測試這個組合的效能, 不過也只有跑 dog.jpg 這張圖. 不知道camera的效果如何

結果如下:

Yolov3_onnx: 0.8699 (TensorRT)
Yolov3 CPU: 跑不動啊 (Tensorflow)
Yolov3 GPU: 跑不動啊 (Tensorflow)

tiny Yolov3_onnx: 0.147424 (TensorRT)
tiny Yolov3 CPU: 3.933574 (Tensorflow)
tiny Yolov3 GPU: 0.128390 (Tensorflow)


原本使用 TensorFlow GPU, 跑不動YOLOv3
改用 TensorRT 就可以跑了

只是同樣用tiny YOLOv3去分析 dog.jpg
TensorFlow GPU的結果是 0.12839
TensorRT是 0.147424

TRT反而慢一點點?

不過我只測過這張圖片而已, 沒有測過其他的圖片 or 影片, 或許剛好沒看到TRT的優勢

相關安裝方法可以參考下面連結

1. Nvidia Nano + Tensor RT + YOLOv3 的安裝方法
https://hackmd.io/U6zU3QEdTKWq1Zdrj8ZLcA

2. Nvidia Nano + Tensor RT + Tiny YOLOv3 的安裝方法
https://hackmd.io/3eVucVx6Q-KLq7ipFh0oYQ

3. Nvidia Jetson Nano + YOLO 的安裝方法
https://hackmd.io/KGdNHN-lTIKqOqDiGnFVhQ


2020年1月8日 星期三

PI的系統備份 + 縮減大小

這個感覺蠻實用的(!?)  有機會來試試看

[Raspberry Pi] 不再備份整張SD卡,縮小RaspberryPi備份容量

https://blog.cavedu.com/2018/03/22/raspberry-pi-%e4%b8%8d%e5%86%8d%e5%82%99%e4%bb%bd%e6%95%b4%e5%bc%b5sd%e5%8d%a1%ef%bc%8c%e7%b8%ae%e5%b0%8fraspberrypi%e5%82%99%e4%bb%bd%e5%ae%b9%e9%87%8f/

Raspberry PI4 與 Intel Movidius NCS邊緣運算棒

身為邊緣人(?), 今天想試試 PI4 + Intel Movidius NCS邊緣運算棒

可是安裝的時候一直出現錯誤訊息:

Movidius Neural Compute Toolkit Installation
Your current combination of Linux distribution and distribution version is not officially supported! Error on line 55. 


後來翻了一下install.sh裡面的內容, 發現他的版本確認方式是:

if [ "${OS_DISTRO,,}" == "ubuntu" ] || [ $OS_VERSION == 1604 ]; then
        echo "Installing on Ubuntu 16.04"
elif [ "${OS_DISTRO,,}" == "raspbian" ] && [ $OS_VERSION -ge 91 ]; then
        echo "Installing on Raspbian Stretch"
elif [ "${OS_DISTRO,,}" == "raspbian" ] && [ $OS_VERSION -ge 80 ] && [ $OS_VERS$
        ERR_MSG=$(cat <<- div="" end="">
                ${RED}You are running Raspbian Jessie, which is not supported b$
                Please upgrade to Raspbian Stretch and then proceed to install $
                END
                )
        printf "$ERR_MSG"


看起來, 它只有支援 ubuntu 16.04 跟 Raspbian Stretch

可是PI4是 Raspbian Buster. QQ


好吧, 繼續回頭玩 TensorRT好了

Rasperry PI4 + TTL線

今早測試了一下, 感覺跟PI3一樣要設定 /boot/config.txt 的參數

後來加上這三行就可以了:

  dtoverlay=pi3-miniuart-bt
  core_freq=250
  enable_uart=1

2020年1月3日 星期五

Nvidia nano 開機卡住

今天打開的時候, 莫名的一直停在開機畫面
最後一個訊息是: start update utmp about system runlevel changes

可是按ctrl+alt+F2可以切到另一個工作視窗

後來打個 df -h 指令, 看一下磁碟使用狀態, 結果竟然使用到100%  -.-

接著去查有沒有比較肥大的檔案:  sudo find ./ -type f -size +1G   (查詢根目錄以下是否有1G以上的檔案)

結果在 /var/log 裡面發現 syslog 異常的肥大

把那些檔案刪掉再重開機, 就回到視窗畫面了 XD


簡單說: 原因是磁碟空間不足 (!?)