1. 到Anaconda3官網下載
找到並執行Anaconda3-2024.02-1-Linux-x86_64.sh

如何在CentOS 8 安裝Anaconda3 及PyCha
若何在CentOS 8 安裝Anaconda3 及PyCha

文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

OpenVino概念
openvino 如何run demo applicatioopenvino 如何run demo applicatio

圖改自https://www.learnopencv.com/using-openvino-with-opencv/#openvino-opencv
將已練習好的深度學習model經由Model Optimizer優化後
(何謂優化請見下面Model Optimizer條目)
經由Inference Engine  跟 硬體(CPU/ GPU /VPU)
到達加快Inference 的目的

★ Model Optimizer
      ●摘錄自:【AI_Column】應用 Intel OpenVINO 土炮自駕車視覺系統
       協助去除已練習好的模子中的冗餘參數,並可將 32bits 浮點數的參數降階,
      以犧牲數個百分點准確率來換取推論速度提升數十倍到百倍。

   ●把深度進修框架Train出來的model, 轉換成 Inference Engine 可以用的IR file
       目前支援的深度學習框架有 Caffe*, TensorFlow*, MXNet*, and ONNX*.
     ●之前以為所有由Caffe*, TensorFlow*, MXNet*, and ONNX* 練習出的model
     都可以由Model Optimizer轉換成IR file  ,但看了 的Supported Models章節
     如同不是這麼一回事,需找一個底下沒提到的model來嘗試看看
     有結果我再更新
      Supported Models
        For the list of supported models refer to the framework or format specific page:
•        Supported Caffe* models
•        Supported TensorFlow* models
•        Supported MXNet* models
•        Supported ONNX* models
•        Supported Kaldi* models
   ●有script可以 configure Model Optimizer  以導入
     所有OpenVino supported的深度進修框架或單一深度進修框架
       若要手動configure Model Optimizer也有文件可以參考 ->  Model Optimizer Developer Guide.

★ IR file
   包括train model的topology 跟weight,利用者只要知道如何將
   練習好的model change to IR file,就能夠利用OpenVino加快Inference

★ Inference Engine
   用來run 最佳化後的深度進修model
   C:\Program Files (x86)\Intel\openvino_2021.4.689\
   deployment_tools\inference_engine\samples底下有放一些IE的samples   
   各Samples申明  
   延伸浏覽 → 若何run Inference Engine Samples
★ VPU plugin
    這份文件彷佛在講如何的model能被vpu 支援
■OpenVino不供應Model Training
   OpenVino的model來源以我的理解就以下這幾種
   1.本身用OpenVino supported的深度進修框架去train  model
      或去Model Zoo下載所需model
1.        Caffe [ Model Zoo ]
2.        Tensorflow [ Model Zoo ]
3.        MxNet [ Model zoo ] 連結失效
4.        Open Neural Network Exchange (ONNX) [ Model zoo ]
   2.OpenVino裡面附的pre-trained model  
      不過不一定有符合你需求的
   3.OpenCV DNN sample model
■相幹名詞
★ OpenVino用的是CNN( Convolutional Neural Networks )模子 ;
   還包括了Deep Learning Deployment Toolkit (Intel® DLDT).
    openvino 如何run demo applicatioopenvino 如何run demo applicatio
      Convolution:影像->filter->擷取出特徵,好比邊沿。
      此種進程叫做Convolution
★ OpenCV和OpenVX有什么联系和区别?
★ 機械進修
   機械學習理論主要是設計和闡明一些讓電腦可以主動進修的演算法。
    機械進修演算法是一類從資料中自動剖析取得規律,並利用紀律對未知資料進行預測的演算法。
★ 深度進修
   是機械進修的分支。 深度學習框架對照
■若何安裝OpenVino
照著 安裝步調做即可 (英文看不懂請自行戰勝)
-------------------------------------------------------------------------------------------------------------------------------
上述的器械都領會以後,接下來入手下手DEMO OpenVino附的兩個script
■Run the Image Classification Verification Script
   ★在C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\demo下
   可以找到demo_squeezenet_download_convert_run.bat。
   這個demo使用squeezenet model 判定照片中的Object屬於什麼類別
   可判定的類別有一千種,有哪一千種可以看底下這個檔案
   C:\Program Files (x86)\Intel\openvino_2021.4.689\
   deployment_tools\demo\squeezenet1.1.labels
   *路徑中的openvino_2019.1.148的2019.1.148這數字代表版本, 因此若安裝的OpenVino版本跟我分歧,那數字也會分歧
   *若安裝不只一個版本的OpenVino,分歧版本的OpenVino會有屬於自己的資料夾
   而openvino誰人捷徑會指向最後安裝的那個版本
openvino 如何run demo applicatio    openvino 如何run demo applicatio
★這個batch的內容以下
   Step1 :  下載SqueezeNet model (利用downloader.py)
   Step2: 用 Model Optimizer 把SqueezeNet轉成IR file。
                (利用mo.py)
   Step3: Build Inference Engine samples
                batch檔執行過程當中, 會看到cmd 畫面卡在
                Build Inference Engine samples using MS Visual Studio (MSBuild.exe)一段時候
                請耐煩等待 。此步會產生 classification_sample.exe
   Step4: 把car.png & IR file當作iInference Engine的input 來闡明car.png
   ↓This is car.png
    openvino 如何run demo applicatio
openvino 如何run demo applicatio
   ↓針對比片中的Object,分類前十名的成效依序從Prob.高到低排列
   分類成績最高分數是sport car
openvino 如何run demo applicatio
   openvino 如何run demo applicatio
★重跑demo_squeezenet_download_convert_run.bat
   跑過一次batch之後,若再履行一次batch,
   因為某些檔案跑過一次batch以後就已存在了
   batch裡的寫法偵測到某些檔案存在以後就會忽略掉某些Step
   若想要完全地再跑一次,需刪除以下檔案
   ●刪除model
   C:\Users\$(username)\Documents\Intel\OpenVINO\openvino_models
    \models\FP32\classification
   底下整個squeezenet 資料夾刪掉
   注意:FP32是針對CPU device的,若是VPU devide ,對應到的folder name是FP16

   ●刪除 IR       
   C:\Users\$(username)\Documents\Intel\OpenVINO\openvino_models\ir\FP32
    \classification\squeezenet\1.1\ 底下全部caffe 資料夾刪掉
   注意:FP32是針對CPU device的,若是VPU devide ,對應到的folder name是FP16
------------------------------------------------------------------------------------------------
■Run the Inference Pipeline Verification Script
★demo_security_barrier_camera.bat 這個batch的內容以下
Step1 : 下載 three pre-trained models IRs
Step2:build Security Barrier Camera Demo Inference Engine來闡發car1.bmp
Step3: 圖片裡的object會被第一個model判斷成是車輛,
              這個判定結果被當作input 導入到下一個model,
              這個model可以指出車輛的一些屬性 ex:車牌
              最後 車牌被當作input導入到第三個model,這個model可以把車牌的字元辨認出
              會被稱做Pipeline 我想應當是辨認後果從第一個model傳到第三個model
             像水流在管線裡活動一樣吧...

        
★重跑全部bat
  跑過一次batch之後,有些step會被疏忽掉,因為某些檔案已存在了
  若要乾乾淨淨的再跑一次,需要刪除以下檔案
  ●刪除 IR      
  C:\Users\$(username)\Documents\Intel\OpenVINO\openvino_models\
  ir\FP32\classification\squeezenet\1.1\
  底下全部caffe 資料夾刪掉

----------------------------------------------------------------------------------------------------------
以上規範是利用openvino在 CPU
若用其他intel 硬體, 比如movidius gpu vpu  FPGA or MYRIAD
請參考安裝文件中 Optional Steps這部分
-----------------------------------------------------------------------------------------------------------
■OpenVino PreTrained Model
★OpenVINO供應好幾個pre-trained models
可以用Model Downloader 或到
https://download.01.org/opencv/2019/open_model_zoo/ 去下載
下載的model是被優化過的model,稱作IR file( xml 檔+ bin 檔)

★可在這邊 https://docs.openvinotoolkit.org/latest/_demos_README.html
Demos that Support Pre-Trained Models章節
看各個pre-trained model support哪些Device
Object Detection Models
裡面包括好幾個model可以用來偵測object
包括:人臉,人,車輛
Object Recognition Models
用來分類或特徵辨識,使用在其他detector以後。好比先做人臉偵測,再做年齡/性別辨識

Semantic Segmentation Models
原文網址:https://kknews.cc/zh-tw/tech/mgqvl9.html
語義朋分(Semantic Segmentation)的目標是給定一張圖片,對於圖片中的每一個像素做分類。
例如圖1(a)中給出的原始輸入圖片,語義分割算法對圖片中的每一個像素分類,
得到如圖1(b)的成績。在圖1(b)中,分歧色彩代表不同類別:
如紅色代表行人,藍色代表汽車,綠色代表樹,灰色代表建築物等。
語義朋分問題在許多應用場景中都有著十分重要的感化(例如圖片理解,主動駕駛等)
openvino 如何run demo applicatio
openvino 如何run demo applicatio

Instance Segmentation Models
INSTANCE SEGMENTATION可以知道同類object的數量(分歧色彩透露表現)
https://arxiv.org/pdf/1405.0312.pdf
openvino 如何run demo applicatio openvino 如何run demo applicatioopenvino 如何run demo applicatio
openvino 如何run demo applicatio
Human Pose Estimation Models
Image Processing
提高影象品質
openvino 如何run demo applicatioopenvino 如何run demo applicatio

Text Detection
Action Recognition Models
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
■Trouble Shooting
● 安裝時碰到CMake*/ Python* version  xxx or higher is not detected.
openvino 如何run demo applicatio       openvino 如何run demo applicatio

      ->Fixed by 安裝如提示的CMake & Python版本後
      再重安裝一次OpenVino
● 電腦已經有安裝Python3.6.5了
      照舊會呈現Python* version  xxx or higher is not detected.
      ->Fixed by 再安裝一次Python >選Modify  >勾選Add Python.....
      ->再安裝一次OpenVino就能夠了
openvino 如何run demo applicatio
      openvino 如何run demo applicatio

● 履行demo_squeezenet_download_convert_run.bat前
      若沒有安裝cmake 會出現以下Error
       'cmake' is not recognized as an internal or external command,
       operable program or batch file.
       ->Fixed by 安裝cmake
       請參考 Install CMake* 3.4 or higher章節
  ● 履行demo_squeezenet_download_convert_run.bat發生以下Err
      target_precision = FP32
      Python 3.6.6
      ECHO is off.
      PYTHONPATH=C:\Program Files (x86)\IntelSWTools\openvino\python\python3.6;
      [setupvars.bat] OpenVINO environment initialized
      INTEL_OPENVINO_DIR is set to C:\Program Files (x86)\IntelSWTools\openvino
      Python 3.6.6
      ECHO is off.
      Collecting pyyaml
      Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by       'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication Required (         Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied.  )',))':                 /simple/pyyaml/
       ...
      Could not find a version that satisfies the requirement pyyaml (from versions: )
      No matching distribution found for pyyaml
      ->Fixed by 更改proxy設定
      按照Cannot connect to proxy這個訊息判定應當是proxy問題
      原本我是使用公司內網run script
      後來將proxy調劑成以下設定&連手機熱門就可以履行了  
       openvino 如何run demo applicatioopenvino 如何run demo applicatio
  ● 呈現以下Error
     ###############|| Generate VS solution for Inference Engine samples using cmake ||###############

     Waiting for 2 seconds, press a key to continue ...
     Creating Visual Studio 15 2017 x64 files in      
     C:\Users\$(userName)\Documents\Intel\OpenVINO\inference_engine_samples_build...
     CMake Error at CMakeLists.txt:7 (project):
     Generator
     Visual Studio 15 2017
     could not find any instance of Visual Studio.
     -- Configuring incomplete, errors occurred!
     ->fixed by reboot
    因為在安裝openvino之前我有開visual studio installer去 modify設定
    設定完後沒有按照指示重開機
    是以出現以上issue
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
●其它參考貫穿連接
  - OPENvINO with openCV
  - 既跨平台又開源 英特爾開啟智慧視覺立異
    跨越20個預先練習的模型,和針對OpenCV和OpenVx的最好化電腦視覺庫。
    OpenVINO東西套件可透過CPU、GPU、FPGA、Movidius VPU(AI晶片 )等硬體進行擺設,
    增強視覺系統功能和機能
-   SqueezeNet
     SqueezeNet 是圖片分類模型,最合適參數較少及較小的模型利用,相較於現代圖片分類模型 (AlexNet),
     不會犧牲品質。
-   C:\Program Files (x86)\Intel\openvino_2021.4.689\documentation

 

文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

比來電腦重灌WIN10
arduino從新安裝及設定
發現輸入開發管理員網址時會泛起毛病

  1. https://dl.espressif.com/dl/package_esp32_index.json
文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

1. 到 Github 下載 tesseract-ocr-w64-setup-5.3.3.20231005.exe 來安裝Tesseract。

2. 記錄Tesseract安裝的路徑,預設路徑平常為 C:\Program Files\Tesseract-OCR。

3. 將Tesseract.exe路徑新增到環境變數中

 

  1. pip install pytesseract
文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

網頁設計

比來因為CENTOS 7 辦事會莫名的封閉,查了發現是KENERL問題,所以決議升到CENTOS 8-9,

我的INTEL雙網網卡 來當做家裡的firewall, 於是安裝了CENTOS 8 - 9, 並用pppoe 來毗連中華電信的Router, 而且寫了一些iptables 的rules 來看成firewall 及NAT router.
然則覺得有問題, 有時連不出去. 現象是如許的:


可是在NAT 後面的電腦,GOOGLE PTT網站 連線都很ok, , 只要碰上yahoo跟遊戲 的連線, 就連不上, ftp 也ok.


這問題擺了良久都沒去理睬. 今天終於有空好好的來追問題的源頭. 發現如同是跟pppoe 有關.
問了小洲大大才發現

MTU
MTU (Maximum Transmission Unit) 是指網路介面卡上最大傳輸單位, 其單元為bytes. 在大大都的Ehternet 上, 這個值平常是1500. 因為如斯, 在PPPoE 中, 因為還有header問題, 所以這個值就得設的比較小, 凡是為1492 (= 1500 – 2(PPP)- 6(PPPoE))

MSS
MSS (Maximum segment size) 是TCP protocol 中的一個參數, 是指TCP 每次資料傳輸分段的最大值. 當TCP 在handshake 時, 雙方host 會查看MSS 這個欄位, 來決議兩邊資料傳輸分段的巨細. 在Ethernet 中MSS 值最大為1460 bytes.
緣由是在Ethernet 中 MTU = IP Header + TCP Header + MSS + FCS.
(FCS 是指Frame check sequence, 平常採用CRC演算法, 在Ethernet 中, 它佔4 bytes.)
然則在PPPoE 中MTU 為1492, 所以其MSS 只能設為1452.

問題地點
當CENTOS 8 在開機後, 啟動了ppp0, 其內定將MTU 設為1492, 而且會主動設定一條iptable rule,



因為在NAT 後面的電腦, 其實不知道前真個router 是用什麼介面連到internet, 所以它和遠真個電腦設立建設TCP 連線時, 有可能會將MSS 設為1460. 但是由於firewall 或router 端使用PPPoE連線, 若MSS 大於1452會造成資料爆掉, 所以上述的iptable rule 強迫偷改其MSS值(在IPV4下 = PMTU – 40, 在IPV6下 = PMTU – 60). 是以MSS 就會被改成1452, 如許子就不會爆掉了.

然則我自己寫的iptable rule script 中, 一開始就用了以下設定, 清除了本來的所有設定

 

  1. # 斷根所有規則
  2. iptables -F -t filter
  3. iptables -X -t filter
  4. iptables -Z -t filter
  5. iptables -F -t mangle
  6. iptables -X -t mangle
  7. iptables -Z -t mangle
  8. iptables -F -t nat
  9. iptables -X -t nat
  10. iptables -Z -t nat
文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

在搜索引擎不斷改版網頁不能不進入https
所以後台編纂器圖片上傳也變得不能用了
不得已又請教了谷哥大神
多方測驗考試後,找到
CKeditor 4.11.1 網頁編纂器與CKfinder 2.6.2.1 圖片上傳可以用

網頁設計 CKeditor 4.11.1 網頁編輯器與CKf
網頁設計 CKeditor 4.11.1 網頁編輯器與CKf

檔案下載了以後,籠蓋之前檔案
找到 ckeditor/config.js

  1. CKEDITOR.editorConfig = function( config ) {
  2.         // Define changes to default configuration here. For example:
  3.         // config.language = 'fr';
  4.         // config.uiColor = '#AADC6E';
  5. }
文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

RGB LED依序為紅、最長腳、
RGB LED的共陽極(最長腳)串接一個330的電阻後再接地(GND)。

網頁設計網頁設計 Arduino的 RGB led燈(共陽極)的行使
網頁設計 Arduino的 RGB led燈(共陽極)的行使
RGB LED的R接Arduino GPIO腳位16。
RGB LED的G接Arduino GPIO腳位17。
RGB LED的B接Arduino GPIO腳位5。

程式碼
1.每隔一秒改變LED的顏色,紅、綠、藍、黃、青、洋紅、白


 

文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

專家也是這麼做的網站SEO優化6步伐 網頁設計
您的網站為何總是排名在後面呢?除買告白之外,有沒有什麼撇步呢?網店日報來告知您,有哪些基本的SEO優化技能,做好這6個步驟,您的網站SEO就可以事半功倍!
文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

網頁設計

有利用過進度條的朋友必然會感覺很不方便
因為要從0~100讀取 華侈時候
因檔案大小也不知道這時間讀寫的完嗎?
如這篇
Java Swing 若何利用進度

於是經由批改
改成此方法
可使用DIALOG準確的抓到讀寫完成的時候

  1. processdialog.setTitle("Copying files to USB");
  2.                             processdialog.add(labelimg);
  3.                             processdialog.setLocation(400,250);
  4.                             processdialog.pack(); // Packs the dialog so that the JOptionPane can be seen
  5.                             processdialog.setVisible(true); // Shows the dialog
  6.                             new Thread(){
  7.                                     public void run(){
  8.                                             try{
  9.                                                 Process process = null;
  10.                                                 BufferedReader input = null;
  11.                                                 final Runtime runtime = Runtime.getRuntime();
  12.                                                 //extact tar for ext3 file
  13.                                                 String tarstring = "tar -xvpf /"+tarpath+"/"+cellValue+".tar -C "+extpatition+"/";
  14.                                                 process = runtime.exec(new String[]{"/bin/sh","-c",tarstring});
  15.                                                 InputStream stdout = process.getInputStream ();
  16.                                                 InputStreamReader osr = new InputStreamReader (stdout);
  17.                                                 BufferedReader obr = new BufferedReader (osr);
  18.                                                 process.waitFor();
  19.                                                
  20.                                                 Thread.sleep(2000);
  21.                                             }catch(Exception e){
  22.                                                     e.printStackTrace();
  23.                                             }finally{
  24.                                                     processdialog.dispose();
  25.                                             }
  26.                                     }
  27.                             }.start();
文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

用nmcli可以成功設立建設pppoe連線
: (鄙人列例子中,我將pppoe連線定名為ppp0,決心設定為需要時才手動進行撥接,
: 網卡的裝配名稱為對外enp1s0f0, 對內enp1s0f1)
1. 安裝模組 NetworkManager-ppp ppp
enp1s0f0設定IP:192.168.0.254
enp1s0f0設定IP:192.168.1.254

1.安裝模組

  1. dnf install NetworkManager-ppp -y
  2. dnf install ppp -y
文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()