999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

移植Libsvm軟件實現TMS320F28335的支持向量機

2016-06-01 00:48:51盧昆鵬潘宏俠
單片機與嵌入式系統應用 2016年3期
關鍵詞:程序

盧昆鵬,潘宏俠

(中北大學 機械與動力工程學院,太原 030051)

?

移植Libsvm軟件實現TMS320F28335的支持向量機

盧昆鵬,潘宏俠

(中北大學 機械與動力工程學院,太原 030051)

摘要:化簡了支持向量機算法在實際應用中的步驟,提出了利用分解和提取代碼的方法在TMS320F28335芯片中移植Libsvm軟件,并實現了支持向量機。該方法解決了在C2000系列DSP芯片中實現支持向量機的問題,同時適用于其他型號的芯片。實驗結果表明,在保證較高的預測正確率、較快的運行速度和較大的數據量讀取的前提下,Libsvm能夠正確運行于芯片中。

關鍵詞:支持向量機;Libsvm;DSP;TMS320F28335;嵌入式系統

引言

支持向量機在小樣本、非線性及高維模式識別中表現出許多特有的優勢,并能夠推廣應用到函數擬合等其他機器學習問題中[1-4]。目前實現支持向量機的方法有軟件方法(如Libsvm、Liblinear、mySVM、SVMlight等[1]),也有硬件方法(如約翰霍普金斯大學開發的Kerneltron芯片[2]),但是這兩種方法都有缺點,如成本高、體積大、耗能多、通用性差等。

TI公司應用于控制領域的C2000系列芯片具有低功耗、低成本、通用性強和可實時控制的優點。采用其作為運行SVM的平臺,實現支持向量機的實時應用,比PC系統體積小,其控制能力和數據處理能力可以在滿足工作需要的同時有效控制成本。但是此類芯片具有運行頻率較低、可用內存小的缺點,如果在其中運行大型程序或讀取大量數據,會受到運行資源的限制。本文針對此問題,提出了一種解決方案。

1支持向量機的算法

支持向量機(SVM)能非常成功地處理回歸問題(時間序列分析)和模式識別(分類問題、判別分析)等諸多問題,并可推廣于預測和綜合評價等領域。C-支持向量分類機的算法步驟為[3]:

① 給定訓練集

T={(x1,y1),…,(xl,yl)}∈(Rn×y)l

其中,xi∈Rn,yi∈y={1,-1},i=1,2,…,l。

② 選取適當的核函數K(x,x’)及懲罰參數C>0。

③ 構造并求解凸二次規劃問題:

其中,0≤αi≤C,i=1,…,l,

⑤ 構造決策函數f(x)=sgn(g(x)),其中

⑥ 通過決策函數f(x)=sgn(g(x))預測數據。

2方案的設計和實現

2.1代碼分解和抽取

Libsvm是臺灣大學林智仁(LinChih-Jen)教授等開發設計的一個簡單、易于使用和快速有效的SVM模式識別與回歸的開源軟件包[5]。其源代碼文件有5個:svm-train.c,svm-predict.c,svm-scale.c,svm.h和svm.cpp。其中svm-train.c是訓練樣本工具的代碼,上述6步算法中的①~⑤都是在這個代碼文件中實現的;svm-predict.c是預測工具的代碼,實現上述算法中的第⑥步;svm-scale.c是歸一化數據工具的代碼;svm.h是頭文件;svm.cpp是類的實現代碼。后3個軟件分別實現訓練、預測和歸一化數據的功能。代碼文件svm-train.c、svm-predict.c、svm-scale.c分別與svm.h和svm.cpp編譯就可以得到這3個軟件。Libsvm代碼結構如圖1所示。

圖1 Libsvm代碼結構

如果在DSP平臺上實現以上支持向量分類機的6步算法,不僅需要進行大量的計算,而且實現起來非常麻煩。事實上,在實際應用的過程中,只需要實現第6步。

Libsvm的5個文件的代碼加起來總共有四千多行,而且分為3個共用類實現文件和頭文件的程序,把各部合為一個程序并且移植運行于DSP平臺難度較大。考慮到以上因素,同時為了節省DSP的存儲資源和運行資源,采取了以下的移植方案:

① 訓練數據部分在PC里實現,訓練完成后保存訓練模型,然后存儲在SD卡上;

② 預測部分在DSP里實現,即把svm-predict.c、svm.h、svm.cpp編譯運行于DSP內;

③ 預測時,利用DSP芯片上的SPI模塊和SD卡進行通信,讀取SD卡上的模型來對存儲于卡上的數據進行預測;

④ 預測結果存儲于SD卡內。

實現方案如圖2所示。

圖2 實現方案

預測部分代碼的主要函數包括:

read_model_header()——讀模型的參數;

svm_load_model()——載入模型;

svm_predict(),svm_predict_values()——實現預測功能。

類文件svm.cpp中需要提取的類成員函數包括:

k_function()——核函數的選擇函數;

dot()——內積函數;

svm_get_labels()——獲取標簽函數;

powi()——冪函數。

將這些函數代碼從svm-predict.c、svm.h和svm.cpp中提取出來,整合為一個程序文件。

2.2移植

代碼移植之前需要考慮的問題有:①源代碼編譯之后的程序運行于Win32控制平臺,利用命令行輸入參數,所以設置參數、傳遞參數的方式都與DSP程序有所不同;②在DSP運行標準輸入輸出函數會占用很多系統資源,使系統運行變慢,甚至會導致程序無法運行;③從SD卡中存儲和讀取文件,需要依賴于文件系統。

2.2.1參數的傳遞

源代碼編譯后的程序是從命令行讀取參數的,而DSP平臺沒有命令行,因而必須改變讀取參數方式,例如可把參數設置于文本文件中,再從文本文件中讀取參數,或者在得到訓練模型文件后,直接把參數固化于程序中。程序修改包括:

① 將read_model_header()函數中的格式化讀取函數FSCANF()用獲取字符串函數f_gets()、分解字符串函數strtok()和字符串轉浮點函數strtod()來代替,或者在read_model_header()函數中直接給模型結構體的各個參數變量賦值;

② svm-predict.c里面main函數參數改為void,增加相應的文件讀寫函數。

2.2.2利用文件系統接口函數

圖3   利用FatFS接口函數   存儲和讀取文件

從SD卡讀取文件,需要移植文件系統,本文所采用的是FatFS文件系統。其次,由于在DSP中使用標準I/O函數會占用很多的運行資源,導致程序無法正常運行,所以必須用FatFS文件系統的API接口函數來代替標準I/O函數,如圖3所示。

最后,還需屏蔽掉類似“fprintf(stderr,"can't open model file %s ",argv[i+1]);”的錯誤信息打印的語句,因為此類語句輸出為PC屏幕終端;或者可以把錯誤信息輸出到txt文本文件上,調取文件便可閱覽信息。

2.3優化運行環境參數和支持向量機的參數

嵌入式平臺的運行資源相對于PC來說比較少,如果需要運行大型程序或者是讀取大量數據,必須要考慮可用RAM和Flash的大小以及堆棧段的大小。DSP的.stack段也稱為系統棧,主要作用有:保存函數調用后的返回地址;給局部變量分配存儲空間;傳遞函數參數;保存臨時結果。

圖4 讀取數據到.stack段中

TMS320F28335型數字信號處理器為TI公司的TMS320C28x系列浮點DSP控制器,頻率為150 MHz,片內RAM大小為34 KB×16,片內Flash大小為256 KB×16。其.stack段大小默認為0x400,需要讀取大量數據時可能出現.stack段空間不足的情況,造成程序運行錯誤[7]。為了正確讀取數據,需要修改分配RAM空間的CMD文件,分配更大的空間給.stack段。讀取數據到.stack段中的示意圖如圖4所示。

修改后的程序主要分為3部分:初始化部分、讀取模型部分和預測部分。完成以上工作,程序便可以正常運行于DSP平臺。

Libsvm軟件包提供了支持向量機的參數優化工具grid.py。利用多重交叉驗證的方法對C-支持向量機的參數進行優化,可提高預測結果的正確率。在輸入訓練集文件之后,利用grid.py對支持向量機的參數C和gamma尋優,如圖5所示。

圖5 對支持向量機的參數尋優

3實驗驗證與比較

訓練集在PC中訓練后得到的模型,參數見表1。實驗數據為具有13個特征量的132組數據,轉換為Libsvm可讀取的數據類型之后,保存為data.txt文件,并存入SD卡中。利用CCS3.3軟件進行在線仿真時,程序運行時間在5 s之內。實驗結果如表2所列。

表1 模型參數

表2 預測結果(默認參數 序號∶標簽)

實驗結果表明,程序運行結果與原軟件包在PC平臺中的運行結果一致。訓練集支持向量的數量(nr)越多,預測正確率越高;但是由于受硬件的運行資源限制,支持向量不能過多。若采用優化過的參數和核函數,預測正確率更高(見表3)。程序燒錄到芯片中運行,結果與在線仿真時一致。

表3 優化前后的預測正確率比較

結語

經實驗驗證,在具備較高的預測正確率、較快的運行速度和較大的數據量讀取的同時,Libsvm能夠正確運行于芯片中。DSP的低功耗、便攜性、較高的運算速度優勢和支持向量機的算法優越性相結合, 促進了結合DSP的支持向量機模式識別技術在實踐中的廣泛應用[8]。本文的方案對于支持向量機在生物識別、文本分類等領域的具體應用和實現同樣具有借鑒意義。

參考文獻

[1] 鄧乃揚,田英杰.數據挖掘中的新方法—支持向量機[M].北京:科學出版社,2004.

Realization of TMS320F28335 Support Vector Machine Through Porting Libsvm

Lu Kunpeng,Pan Hongxia

(School of Mechanical and Power Engineering,North University of China,Taiyuan 030051,China)

Abstract:The steps in the practical application of support vector machine algorithm are simplified.The method of decomposing and extracting code in TMS320F28335 chip is proposed to realize support vector machine.The method solves the realization problem of support vector machine in C2000 series DSP chip,and it is suitable for other types of chip.The experiment results show that Libsvm can run on the chip properly under the premise of high prediction accuracy,fast running speed and large amount of data reading.

Key words:support vector machine;Libsvm;DSP;TMS320F28335;embedded system

中圖分類號:TP391.43

文獻標識碼:A

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 欧美一级专区免费大片| 国产精品蜜臀| 欧美丝袜高跟鞋一区二区| 亚洲国产成人综合精品2020 | 九九免费观看全部免费视频| 久青草国产高清在线视频| a毛片免费观看| 无码综合天天久久综合网| 2020国产在线视精品在| 2021国产精品自产拍在线| 国产精品无码作爱| 天天操天天噜| 日韩一区二区在线电影| 蜜桃视频一区| 精品国产香蕉在线播出| 国产精选自拍| 日韩国产一区二区三区无码| 亚洲欧洲自拍拍偷午夜色无码| 日韩福利在线观看| 97se亚洲综合不卡| 丰满人妻中出白浆| a级毛片在线免费| 天天操精品| 亚洲日本中文字幕天堂网| 黑人巨大精品欧美一区二区区| 日日摸夜夜爽无码| 呦视频在线一区二区三区| 97青草最新免费精品视频| 男女男免费视频网站国产| 免费国产在线精品一区| 国产av一码二码三码无码 | 午夜日本永久乱码免费播放片| 97一区二区在线播放| 日本亚洲欧美在线| 久久性视频| 欧美午夜在线视频| 青青草久久伊人| 手机精品福利在线观看| 亚洲人成在线免费观看| 久久男人资源站| 国产微拍一区二区三区四区| 日韩在线播放中文字幕| 亚洲综合精品香蕉久久网| 免费精品一区二区h| 九色在线观看视频| 在线国产你懂的| 欧美全免费aaaaaa特黄在线| 亚洲Av激情网五月天| www.亚洲国产| 中文字幕2区| 婷婷丁香在线观看| 丁香六月综合网| 亚洲码一区二区三区| a免费毛片在线播放| 亚洲天堂网在线播放| jizz亚洲高清在线观看| 久久美女精品| 日韩国产黄色网站| 欧美在线一二区| 久久综合成人| 日韩在线观看网站| 日本一区二区不卡视频| 免费在线国产一区二区三区精品| 国产免费久久精品44| 91系列在线观看| 99精品免费在线| 香蕉国产精品视频| 日本午夜精品一本在线观看 | 色九九视频| 欧美精品黑人粗大| 国产h视频在线观看视频| 国产欧美视频一区二区三区| 99久久国产综合精品2023| 伊人成色综合网| 亚洲女同一区二区| 色综合久久88| 亚洲中字无码AV电影在线观看| 国产精品福利导航| 国内精品九九久久久精品| 日本国产一区在线观看| 国产精品无码在线看| 亚洲bt欧美bt精品|