工作小結python和cpp通過json互通

2021-06-18 22:59:20 字數 873 閱讀 5259

這個月最後一天,對之前的工作做個小結,一會兒打球

1.numpy儲存的權值與c++互動,很困難,numpy的格式不好解析,網上資料很少

2.採用python做中間轉換,實現1的要求。後看theano**,發現讀入python的訓練樣本,不用轉換成numpy陣列,用本來python就可以了。但是python經過cpickle的dumpy檔案,加了很多格式,不適合同c互動。

3.用json轉換,由於python和cpp都有json的介面,都轉成json的格式,然後再互動。可是theano訓練之後權值是numpy格式的,需要轉成python陣列,json才可以存到檔案中。現在的問題是怎麼把numpy轉成python的list?

4.為了解決3,找了一天,終於找到了numpy陣列的tolist介面

5.現在python和c都可以用json了。研究jsoncpp的使用,將python的json檔案讀取,發現解析成cpp陣列的時候,也不是那麼容易。後來在網上用遞迴解決了,但是又有乙個問題:jsoncpp讀取幾百兆的大檔案根本不可行?

6.明天準備重寫生成訓練樣本的cpp**,準備直接存成json的格式送給theano,不用經過python。然後給cpp另外做乙份訓練樣本的檔案用來讀取。這樣jsoncpp就不用讀取幾百兆的大檔案了,只需要讀取theano訓練的權值檔案,就可以測試了,也就幾十兆而已。

7前幾天也抽時間看了一下theano寫的cnn**,對epoch和學習率進行動態調整。用1000個類來測試,目前看效果不錯,錯誤率已經可以精確到8.5629%;再4037個類上面,也在windows上跑著,希望有好的結果。之前4037個類最好結果是8.9%,折騰了兩周沒有復現出來。感覺是對樣本特徵值的提取跟以前的new96vec不一樣了,又或者是cnn對權值也敏感?反正現在只有期待改變lr和epoch之後,能夠有好的結果了。

fxs和fxo的工作原理小結

fxs和fxo的工作原理小結 1 處於掛機狀態的話機,拍叉簧與電路 本地環路 處於開路狀態。2 話機摘機的時候,拍叉簧與電路處於閉合的狀態,因此電路上有電流流過,fxs口電路檢測到電路之後,就知道話機已經摘機 將話機的狀態資訊置為摘機狀態 3 fxs口電路檢測到電流之後,就給電路傳送某種頻率的連續訊...

Python 檔案和輸入輸出小結

python 是物件導向程式設計語言,檔案也是一種類,下面簡單介紹下,方便需要的朋友 e padding top 5px padding bottom 5px margin top 0px margin bottom 0px 1.開啟和關閉檔案 open file close 有兩種內建函式可以獲取...

python的sys和os模組小結

sys模組包含基本底層系統的資訊,比如系統型別,變數等。usr bin python coding utf 8 import sys def my path for item in sys.path print item my path my path os模組也可以執行shell命令 usr bi...