參考 Ubuntu 類似微軟注音的輸入法 - hime 詞音輸入法
Ctrl+Space 啟動中文輸入
Shift 中英文切換
Ctrl+Alt+4 符號表
nvidia@jetson-0423418048807:~$ sudo apt-get install ibus-chewing
重新開機
System Settings/Language Support
Install / Remove Languages...
Add Chinese (traditional)
Keyboard input method system: ibus
在 Ubuntu 18.04 中新增新酷音輸入法
How can I use chewing(zhuyin) input method?
ubuntu 英文版中安裝新酷音輸入法
讓 Linux 下的中文輸入法更接近微軟新注音使用體驗
Ubuntu: fcitx + chewing 新酷音輸入法
2019年6月21日 星期五
Nvidia Jetson AGX Xavier 安裝 SSD
參考 Install NVMe SSD on NVIDIA Jetson AGX Developer Kit
硬體安裝完成後,開機制桌面,執行 Disks
右上角選項按鈕,Format Disk, 使用 GPT
按 + Create Partition
輸入 Volume Name
選擇 Ext4
按設定按鈕,選擇 Edit Mount Options
User Session Defaults 選擇 OFF
輸入 Mount Point
參考 Creating a Swap file
free 命令可以查詢 swap 狀況
sudo apt-get install gparted
sudo vi /etc/fstab
加入一行
/dev/nvme0n1p2 none swap sw 0 0
sudo swapon -a
硬體安裝完成後,開機制桌面,執行 Disks
右上角選項按鈕,Format Disk, 使用 GPT
按 + Create Partition
輸入 Volume Name
選擇 Ext4
按設定按鈕,選擇 Edit Mount Options
User Session Defaults 選擇 OFF
輸入 Mount Point
參考 Creating a Swap file
free 命令可以查詢 swap 狀況
sudo apt-get install gparted
sudo vi /etc/fstab
加入一行
/dev/nvme0n1p2 none swap sw 0 0
sudo swapon -a
Nvidia Jetson AGX Xavier 設定 VNC
有兩種 VNC 設定成功,x11vnc 和 vino
但是都必須先用 ssh 連上 xavier,啟動 service
此處談及的 VNC,不是 x-win 登入,是直接使用 console 的桌面
至於開機自己啟動的方式,一直沒有成功
x11vnc 設定方式,參考
VNC 連線小記 - Windows & Ubuntu Linux by x11vnc and tigervnc
sudo apt-get install x11vnc -y
sudo x11vnc -storepasswd
密碼存放於 ~/.vnc/passwd
sudo chmod 644 ~/.vnc/passwd
vi x11vnc.sh
DISPLAY=:0 x11vnc -rfbport 5900 -rfbauth /home/nvidia/.vnc/passwd
vino 設定方式,參考
Nvidia AGX Xavier/Jetson Nano遠端登入remote by VNC
sudo apt-get install dconf-editor
執行 dconf-editor,開啟設定畫面
至 /org/gnome/desktop/remote-access/vnc-passwd
notify-on-connect ON
prompt-enabled OFF
require-encryption OFF
sudo vi /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml
在最後的 </schema> 之前補上
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
vi vino.sh
DISPLAY=:0 /usr/lib/vino/vino-server
但是都必須先用 ssh 連上 xavier,啟動 service
此處談及的 VNC,不是 x-win 登入,是直接使用 console 的桌面
至於開機自己啟動的方式,一直沒有成功
x11vnc 設定方式,參考
VNC 連線小記 - Windows & Ubuntu Linux by x11vnc and tigervnc
sudo apt-get install x11vnc -y
sudo x11vnc -storepasswd
密碼存放於 ~/.vnc/passwd
sudo chmod 644 ~/.vnc/passwd
vi x11vnc.sh
DISPLAY=:0 x11vnc -rfbport 5900 -rfbauth /home/nvidia/.vnc/passwd
vino 設定方式,參考
Nvidia AGX Xavier/Jetson Nano遠端登入remote by VNC
sudo apt-get install dconf-editor
執行 dconf-editor,開啟設定畫面
至 /org/gnome/desktop/remote-access/vnc-passwd
notify-on-connect ON
prompt-enabled OFF
require-encryption OFF
sudo vi /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml
在最後的 </schema> 之前補上
<key name="enabled" type="b">
<summary>Enable remote access to the desktop</summary>
<description>
If true, allows remote access to the desktop via the RFB
protocol. Users on remote machines may then connect to the
desktop using a VNC viewer.
</description>
<default>false</default>
</key>
vi vino.sh
DISPLAY=:0 /usr/lib/vino/vino-server
Nvidia Jetson AGX Xavier 安裝
xavier 安裝,需要準備一台 ubuntu 18.04 的機器
當然不可能有這麼多的資源,使用虛擬機器
使用 64-bit 的虛擬機器,需要進入實體機器的 BIOS
開啟CPU設定中的,虛擬化技術
intel virtualization technology (vt-x) 或 AMD Virtualization(amd-v)
VisualBox 要安裝 Extension Pack 才能使用 USB2.0, 3.0
因為找不到最新版的 Extension Pack, 所以安裝了 5.1 版的 VisualBox
但在安裝的過程中也出了問題,決定改用 VMware player 15.1.0
參照 VMware Workstation Player Install and Network Configuration
因為找不到最新版的 Extension Pack, 所以安裝了 5.1 版的 VisualBox
但在安裝的過程中也出了問題
參照 VMware Workstation Player Install and Network Configuration
使用 Bridged 網路(其實 NAT 也可以成功,只是要指定 IP)
硬碟空間不能太小,以免卡關(建議40G)
到 Jetson Download Center 下載 JetPack 4.1.1
硬碟空間不能太小,以免卡關(建議40G)
到 Jetson Download Center 下載 JetPack 4.1.1
mark@Ubuntu64:~/Downloads$ chmod +x JetPack-L4T-4.1.1-linux-x64_b57.run
mark@Ubuntu64:~/Downloads$ ./JetPack-L4T-4.1.1-linux-x64_b57.run
請注意,要將 Compile CUDA Samples 設為 install
否則會找不到 ~/NVIDIA_CUDA-10.0_Samples
將 xavier 電源指示燈旁的 USB 連接至虛擬機器
不要看下一張圖的說明,它描述了如何啟動 xavier 進入工程模式
但它是錯的,正確的是
關機後同時按壓電源鍵(Power)與工程模式鍵(Recovery)兩秒後放開進入工程模式
偵測到USB連線,選擇虛擬機器
此時若是使用 Bridged 網路,它會自動往下跑
若是使用 NAT 網路,它會找不到 xavier
需要輸入 IP
到了下圖的畫面,直接關掉 terminal,完成
xavier 預設帳號密碼:nvidia/nvidia2019年5月30日 星期四
Nvidia Jetson AGX Xavier 風扇設定
At L4t BSP R32.1, it's moved to other path
/sys/kernel/debug/tegra_fan/target_pwm changed to /sys/devices/pwm-fan/target-pwm
關閉風扇
echo 0 | sudo tee /sys/kernel/debug/tegra_fan/target_pwm
/sys/kernel/debug/tegra_fan/target_pwm changed to /sys/devices/pwm-fan/target-pwm
關閉風扇
echo 0 | sudo tee /sys/kernel/debug/tegra_fan/target_pwm
風扇全速轉動
echo 255 | sudo tee /sys/kernel/debug/tegra_fan/target_pwm
echo 255 | sudo tee /sys/kernel/debug/tegra_fan/target_pwm
取得目前速度
cat /sys/kernel/debug/tegra_fan/cur_pwm
cat /sys/kernel/debug/tegra_fan/cur_pwm
2019年1月23日 星期三
tsseract 訓練 在 Unbuntu 上
https://github.com/tesseract-ocr/tesseract/wiki/Compiling
https://github.com/tesseract-ocr/tesseract/wiki/Compiling-%E2%80%93-GitInstallation
sudo apt-get install g++
sudo apt-get install autoconf automake libtool
sudo apt-get install pkg-config
sudo apt-get install libpng-dev
sudo apt-get install libjpeg8-dev
sudo apt-get install libtiff5-dev
sudo apt-get install zlib1g-dev
sudo apt-get install libicu-dev
sudo apt-get install libpango1.0-dev
sudo apt-get install libcairo2-dev
sudo apt-get install libleptonica-dev
sudo apt install git
git clone https://github.com/tesseract-ocr/tesseract.git tesseract-ocr
git clone https://github.com/tesseract-ocr/langdata.git langdata
git clone https://github.com/tesseract-ocr/tessdata_best.git tessdata_best
git clone https://github.com/tesseract-ocr/tessdata_fast.git tessdata_fast
cd tesseract-ocr
./autogen.sh
./configure
make
sudo make install
sudo ldconfig
make training
sudo make training-install
https://github.com/tesseract-ocr/tesseract/wiki/Data-Files
sudo apt install curl
sudo apt install default-jre
sudo apt install openjdk-11-jre-headless
sudo apt install openjdk-8-jre-headless
sudo apt install default-jdk
sudo apt install openjdk-11-jdk-headless
sudo apt install openjdk-8-jdk-headless
cd java
make ScrollView.jar
https://github.com/tesseract-ocr/tesseract/wiki/ViewerDebugging
text2image --find_fonts \
--fonts_dir /usr/share/fonts \
--text ./langdata/plate/plate.
--min_coverage .9 \
--outputbase ./langdata/plate/plate \
|& grep raw \
| sed -e 's/ :.*/@ \\/g' \
| sed -e "s/^/ '/" \
| sed -e "s/@/'/g" >./langdata/plate/fontslist.txt
text2image --font="aakar Medium" \
--fonts_dir /usr/share/fonts \
--text ./langdata/plate/plate.txt \
--min_coverage .9 \
--outputbase ./langdata/plate/plate.aakar_Medium.exp0
text2image --font="Abyssinica SIL" \
--fonts_dir /usr/share/fonts \
--text ./langdata/plate/plate.txt \
--min_coverage .9 \
--outputbase ./langdata/plate/plate.Abyssinica_SIL.exp0
mkdir training
cd training
mkdir -p langdata/eng
準備 langdata/eng/eng.traning_text
拷貝 langdata/radical-stroke.txt
mkdir -p tessdata/configs
拷貝 tessdata/eng.traineddata
拷貝 tessdata/configs/lstm.train
~/ocr/tesseract-ocr/src/training/tesstrain.sh --fonts_dir /usr/share/fonts \
--lang eng --linedata_only \
--noextract_font_properties --langdata_dir langdata \
--tessdata_dir tessdata \
--output_dir train
若字型不存在 (Could not find font named 'xxx xxx')
編輯 src/training/language-specific.sh 刪除不存在的字型
tif 檔產生到一半停住了, 原因是利用背景處理加速
let rem=counter%par_factor 為零時出錯
修改 src/training/tesstrain_utils.sh, 不要使用背景處理
有以下兩段, 刪除命令後面的 &
phase_I_generate_image()
generate_font_image "${font}"
phase_E_extract_features()
run_command tesseract ${img_file} ${img_file%.*} ${box_config} ${config} &
並刪除相關的 let, if, wait
combine_tessdata -e ../tessdata_best/eng.traineddata train/eng.lstm
lstmtraining --model_output model \
--continue_from train/eng.lstm \
--traineddata train/eng/eng.traineddata \
--old_traineddata ../tessdata_best/eng.traineddata \
--train_listfile train/eng.training_files.txt \
--max_iterations 3600
lstmtraining --stop_training \
--continue_from model_checkpoint \
--traineddata train/eng/eng.traineddata \
--old_traineddata ../tessdata_best/eng.traineddata \
--model_output new.traineddata
若要直接使用 tif 和 box
修改 src/training/tesstrain_utils.sh, 固定 tif, box 檔案的目錄
https://github.com/tesseract-ocr/tesseract/wiki/Compiling-%E2%80%93-GitInstallation
sudo apt-get install g++
sudo apt-get install autoconf automake libtool
sudo apt-get install pkg-config
sudo apt-get install libpng-dev
sudo apt-get install libjpeg8-dev
sudo apt-get install libtiff5-dev
sudo apt-get install zlib1g-dev
sudo apt-get install libicu-dev
sudo apt-get install libpango1.0-dev
sudo apt-get install libcairo2-dev
sudo apt-get install libleptonica-dev
sudo apt install git
git clone https://github.com/tesseract-ocr/tesseract.git tesseract-ocr
git clone https://github.com/tesseract-ocr/langdata.git langdata
git clone https://github.com/tesseract-ocr/tessdata_best.git tessdata_best
git clone https://github.com/tesseract-ocr/tessdata_fast.git tessdata_fast
cd tesseract-ocr
./autogen.sh
./configure
make
sudo make install
sudo ldconfig
make training
sudo make training-install
https://github.com/tesseract-ocr/tesseract/wiki/Data-Files
sudo apt install curl
sudo apt install default-jre
sudo apt install openjdk-11-jre-headless
sudo apt install openjdk-8-jre-headless
sudo apt install default-jdk
sudo apt install openjdk-11-jdk-headless
sudo apt install openjdk-8-jdk-headless
cd java
make ScrollView.jar
https://github.com/tesseract-ocr/tesseract/wiki/ViewerDebugging
text2image --find_fonts \
--fonts_dir /usr/share/fonts \
--text ./langdata/plate/plate.
--min_coverage .9 \
--outputbase ./langdata/plate/plate \
|& grep raw \
| sed -e 's/ :.*/@ \\/g' \
| sed -e "s/^/ '/" \
| sed -e "s/@/'/g" >./langdata/plate/fontslist.txt
text2image --font="aakar Medium" \
--fonts_dir /usr/share/fonts \
--text ./langdata/plate/plate.txt \
--min_coverage .9 \
--outputbase ./langdata/plate/plate.aakar_Medium.exp0
text2image --font="Abyssinica SIL" \
--fonts_dir /usr/share/fonts \
--text ./langdata/plate/plate.txt \
--min_coverage .9 \
--outputbase ./langdata/plate/plate.Abyssinica_SIL.exp0
mkdir training
cd training
mkdir -p langdata/eng
準備 langdata/eng/eng.traning_text
拷貝 langdata/radical-stroke.txt
mkdir -p tessdata/configs
拷貝 tessdata/eng.traineddata
拷貝 tessdata/configs/lstm.train
~/ocr/tesseract-ocr/src/training/tesstrain.sh --fonts_dir /usr/share/fonts \
--lang eng --linedata_only \
--noextract_font_properties --langdata_dir langdata \
--tessdata_dir tessdata \
--output_dir train
若字型不存在 (Could not find font named 'xxx xxx')
編輯 src/training/language-specific.sh 刪除不存在的字型
tif 檔產生到一半停住了, 原因是利用背景處理加速
let rem=counter%par_factor 為零時出錯
修改 src/training/tesstrain_utils.sh, 不要使用背景處理
有以下兩段, 刪除命令後面的 &
phase_I_generate_image()
generate_font_image "${font}"
phase_E_extract_features()
run_command tesseract ${img_file} ${img_file%.*} ${box_config} ${config} &
並刪除相關的 let, if, wait
combine_tessdata -e ../tessdata_best/eng.traineddata train/eng.lstm
lstmtraining --model_output model \
--continue_from train/eng.lstm \
--traineddata train/eng/eng.traineddata \
--old_traineddata ../tessdata_best/eng.traineddata \
--train_listfile train/eng.training_files.txt \
--max_iterations 3600
lstmtraining --stop_training \
--continue_from model_checkpoint \
--traineddata train/eng/eng.traineddata \
--old_traineddata ../tessdata_best/eng.traineddata \
--model_output new.traineddata
若要直接使用 tif 和 box
修改 src/training/tesstrain_utils.sh, 固定 tif, box 檔案的目錄
#TRAINING_DIR=${TMP_DIR}
TRAINING_DIR=/tmp/images
修改 src/training/tesstrain.sh, 不要自動產生圖形
#phase_I_generate_image 8
2019年1月10日 星期四
Tesseract 訓練, 使用 jTessBoxEditor
這是舊版的訓練方式,Tesseract 4.0 開始了新的 LSTM(AI) 的方式
D:\>java -jar jTessBoxEditor.jar
TIFF/Box Generator
text2image 不要勾
Input 選擇 .txt 文字檔
Output 按 ... 設定輸出位置
英文輸入 eng, 中文輸入 chi_tra
選擇字型
按 Generate 產生 .box 和 .font_properties
tif文面命名格式[lang].[fontname].exp[num].tif
lang:plt
fontname:normal
num:0
手動由 .tif -> .box
D:\>ttesseract.exe plt.normal.exp0.tif plt.normal.exp0 --psm 7 -l eng batch.nochop makebox
手動生成 .font_properties, 內容為 <fontname> <italic> <bold> <fixed> <serif> <fraktur>
echo normal 0 1 1 0 1 >plt.font_properties
由 .box 文件 -> .tr
D:\>tesseract.exe plt.normal.exp0.tif plt.normal.exp0 box.train.stderr
由 .box 文件 -> unicharset
D:\>unicharset_extractor.exe plt.normal.exp0.box
由 font_properties, unicharset, .tr -> shapetable
D:\>shapeclustering.exe -F plt.font_properties -U unicharset plt.normal.exp0.tr
由 font_properties, unicharset, .tr ->lang.unicharset, inttemp, pffmtable
D:\>mftraining.exe -F plt.font_properties -U unicharset -O plt.unicharset plt.normal.exp0.tr
由.tr 文件 -> normproto
D:\>cntraining.exe plt.normal.exp0.tr
重命名 以 lang. 開頭重命名 inttemp, normproto, pffmtable, shapetable
D:\>move inttemp plt.inttemp
D:\>move normproto plt.normproto
D:\>move pffmtable plt.pffmtable
D:\>move shapetable plt.shapetable
合併生成 lang.traineddata文件,在這裏爲 plt.traineddata
D:\>combine_tessdata.exe plt.
D:\>java -jar jTessBoxEditor.jar
TIFF/Box Generator
text2image 不要勾
Input 選擇 .txt 文字檔
Output 按 ... 設定輸出位置
英文輸入 eng, 中文輸入 chi_tra
選擇字型
按 Generate 產生 .box 和 .font_properties
tif文面命名格式[lang].[fontname].exp[num].tif
lang:plt
fontname:normal
num:0
手動由 .tif -> .box
D:\>ttesseract.exe plt.normal.exp0.tif plt.normal.exp0 --psm 7 -l eng batch.nochop makebox
手動生成 .font_properties, 內容為 <fontname> <italic> <bold> <fixed> <serif> <fraktur>
echo normal 0 1 1 0 1 >plt.font_properties
由 .box 文件 -> .tr
D:\>tesseract.exe plt.normal.exp0.tif plt.normal.exp0 box.train.stderr
由 .box 文件 -> unicharset
D:\>unicharset_extractor.exe plt.normal.exp0.box
由 font_properties, unicharset, .tr -> shapetable
D:\>shapeclustering.exe -F plt.font_properties -U unicharset plt.normal.exp0.tr
由 font_properties, unicharset, .tr ->lang.unicharset, inttemp, pffmtable
D:\>mftraining.exe -F plt.font_properties -U unicharset -O plt.unicharset plt.normal.exp0.tr
由.tr 文件 -> normproto
D:\>cntraining.exe plt.normal.exp0.tr
重命名 以 lang. 開頭重命名 inttemp, normproto, pffmtable, shapetable
D:\>move inttemp plt.inttemp
D:\>move normproto plt.normproto
D:\>move pffmtable plt.pffmtable
D:\>move shapetable plt.shapetable
合併生成 lang.traineddata文件,在這裏爲 plt.traineddata
D:\>combine_tessdata.exe plt.
訂閱:
文章 (Atom)









