Showing posts with label c. Show all posts
Showing posts with label c. Show all posts

Friday, April 5, 2019

Docker 安裝 和搭建Redis編寫環境


大哥要走了,能不能繼承他的遺志呢,先來著手搭建環境,解決資料重複查詢問題,大哥說醫院架構組的是JPA機制,由於呢java 處理 xml的東西(? 是有問題的?,就在這一層假設能做到cache那麼,可以大大減少對伺服器重複的負擔。
再裝 Redis 之前,我們要先裝起docker ,
先決條件是不能裝vm,
然後電腦版本需求 不能是windows 預覽版,
再來就是系統必須支援hyper-v ,
那麼 我的電腦又開始有一堆問題了
,首先我裝的是 windos 10 home 所以呢,我需要強制開啟hyper-v
上script
再來就是 裝完重新開機我設成這樣
,恩 其中裝環境就可以耗掉很多時間了
https://docs.docker.com/toolbox/toolbox_install_windows/
https://oomusou.io/docker/toolbox/
,我已經把最難的script 找出來了接下來應該算滿簡單

接下來比較詭異的地方來了我們要編譯Redis ,當然我們是需要編寫程式去控制的所以呢我們要在這邊搭建編寫的環境
然後我們使用的visual studio 環境
這邊呢順便,這個專案是微軟專門維護的應該是(?
https://github.com/MicrosoftArchive/redis
然後我們下載進來,進去msvs
開啟我們的專案
這邊的話,因為我們已經決定要把伺服器架在,docker所以呢,我們這邊負責把 相關的lib 給編出來給我們 最上面那隻ConsoleApplication1 (這是我們新建的)給引用,下面會詳細介紹lib放置位置,在上圖中我們把hiredis,Win32_Interop給重新建置就可以了記得,我們假設使用的是 2017,我們在上一章環境把它設為較低一點,相容性會比較好?

沒意外我們要來開始搬檔案了,首先我們先新增一個專案
其實我不常用visual studio 寫code ,所以有點不知道 lib 檔案放置位置所以呢,我參照,一些神人的放置,加上我以前那樣放置code,就編譯成功了,
這位國人話說的有點籠統我們來詳細解析一下

首先我們把剛剛hiredis,Win32_Interop ,給編譯完,取得下面這兩個
  • \redis-3.0\deps\hiredis 
  • \redis-3.0\src\Win32_Interop
複製到我們ConsoleApplication1 目錄底下,然後我們的專案直接參考
就對專案直接右鍵,有個參考,打勾這裡相當於 應該是
#pragma comment(lib,"XXX.lib") 
然後我們按下確定,跑去標頭檔那邊
這邊我們直接指定了


再來回到我們主程式

run! ,但是目前你們是看不到畫面的

Sunday, March 31, 2019

自定義 Object_detection yolov3 待續...

自定義 Object_detection yolov3


這大概是我裝過算有點難裝的一套 darknet github 版本的 yolo v3

(You only look once)

演算法更快 更穩 ,當然安裝更難裝
首先呢,
先安裝 vs2017
再來就是下載 cuda 9.1 嗯嗯別問我為什麼 我在 cuda 9.0 包 這邊 走跟 github 不同的方式
因為會有衝突,visual studio 2017 請裝 community 因為可以新增套件,等等
所以詳細步驟則是


  • install vs2017
  • install opencv3.1
  • install cuda 9.1 
  • Cuda v9.1 setting
  • visual studio 2017 setting
  • build
  • runing object data

系統配置


windwos10
cuda V9.1
opencv 3.1
darknet gpu 版
Install Visual studio 2017 




這邊安裝完後的時候請勾選
vc++ 2015v140 工具組
然後 darknet 專案檔案為
C:\Users\x2132\Desktop\darknet-master\build\darknet


Install opencv3.1


在nuget 裡面搜尋 opencv3.1
Install cuda9.1 



這邊官網會說 請把 2017 移除再重裝cuda 這邊的話會花費太多時間,而且還不一定會對
在darknet 編譯的過程中會需要裡面資料夾的一些設定檔
D:\download\cuda_9.1.85_win10\CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions

複製到
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations

Cuda v9.1 setting


在這邊的話 為了讓visual studio 2017 可以抓到 ,恩..大致原因就是 cuda 跟不太上 vs 速度 哈哈
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include\crt
更改為 1920 或更高版號


visual studio 2017 setting


這邊呢,假設是要用自定義的 cuda 這邊選用為 cuda 9.1設定檔則

更改為 cuda 9.1 設定檔

然後喔這邊的組態設定為 所有組態為x64,平台工具組設為 v140
請設置為你目前電腦版本的cuda! 這邊設定為v9.1
這邊聽官方說的只留這個compute_30,sm_30;

build!


當然不可能給你這麼好過

加個括號
終於編譯成功 , 半天時間也消失了@@


runing object data


可能明天才會做 數據標籤的教學,然後則
https://pjreddie.com/media/files/yolov3.weights
這個是 國外大大訓練好的數據,可以下來再來測試
下載完則放置於
開始下指令囉,
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights
這邊 chrome 分頁開太多qq
關掉一些