日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RT106x的小車上部署AI實(shí)施設(shè)計案例分析

電子設(shè)計 ? 來源:CSDN 博主 ? 作者:卓晴 ? 2020-12-28 16:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

繼卓大大發(fā)布了推文“基于RT106x電磁智能車AI算法”,并將此列為2020年智能車競賽的比賽項目之一以后,AI算法智能車受到了廣大同學(xué)和專家的熱烈討論。很多同學(xué)都想在自己的賽道上感受一下AI的魅力,但苦于沒有文檔和工具而無從下手。

在這里向大家介紹我們在RT106x的小車上部署實(shí)施AI的方法,以及一個base line的電磁導(dǎo)引神經(jīng)網(wǎng)絡(luò)模型,希望能拋磚引玉,激發(fā)同學(xué)們開動腦筋,將AI在電磁智能車上的應(yīng)用發(fā)揚(yáng)光大。

先期準(zhǔn)備

硬件條件

話不多說,首先必須有電磁智能車一輛,無線透傳模塊用于采集訓(xùn)練數(shù)據(jù)(感謝逐飛科技友情贊助)。

下圖是我們使用的車模,其中紅色框內(nèi)車身的7個電感,是AI算法中電磁車運(yùn)行導(dǎo)向的輸入電感。

AI電磁實(shí)驗的車模及其傳感器配置

藍(lán)色框內(nèi)的電感是抓取訓(xùn)練數(shù)據(jù)時的導(dǎo)航電感,在AI算法中并不使用(在模型部署成功后可以拆除)。

軟件環(huán)境

Python:3.7.3

Keras:2.2.4

TensorFlow:1.13.1

模型設(shè)計

模型的目的是通過車身的電感值來推導(dǎo)出對小車舵機(jī)的轉(zhuǎn)向控制命令,這是典型的回歸問題。

我們訓(xùn)練了簡易的Baseline模型,結(jié)構(gòu)如下:

使用Netron軟件顯示的網(wǎng)絡(luò)結(jié)構(gòu)圖

如圖所示,模型只使用了Dense算子——也就是全連接層,在一些文獻(xiàn)里稱之為多層感知機(jī)。模型使用最新一筆7個電感的讀數(shù),參數(shù)19,301個,內(nèi)存需求很小,運(yùn)算速度快,用RT1060哪怕是按16位量化也完全無壓力。

不過,各位同學(xué)不要以為設(shè)計完了模型就萬事大吉了,以為有了AI模型就可以忘掉經(jīng)典算法中調(diào)參的痛苦。小編可以負(fù)責(zé)任地告訴你,痛苦才剛剛開始……

采集數(shù)據(jù),訓(xùn)練模型

數(shù)據(jù)采集和處理

眾所周知訓(xùn)練數(shù)據(jù)是機(jī)器學(xué)習(xí)的重中之重,沒有完備的數(shù)據(jù)AI模型只不過是鏡中花水中月,沒有任何意義。訓(xùn)練數(shù)據(jù)對于模型而言就是韓信點(diǎn)兵多多益善,但也一定要小心不要引入錯誤數(shù)據(jù),錯誤數(shù)據(jù)會讓你出軌~啊不,是讓小車出軌,然后就無跡可尋了。小編為了訓(xùn)練數(shù)據(jù)不知道掉了多少頭發(fā),死了多少腦細(xì)胞。

我們獲取訓(xùn)練數(shù)據(jù)的方法是:小車運(yùn)行經(jīng)典導(dǎo)航算法,由小車的前置電感導(dǎo)航,實(shí)時抓取車身的電感數(shù)據(jù),轉(zhuǎn)向數(shù)據(jù),再通過無線透傳模塊發(fā)送到PC端,PC上的串口工具把數(shù)據(jù)保存成文本格式。

怎么把文本格式的數(shù)據(jù)轉(zhuǎn)換成訓(xùn)練數(shù)據(jù)呢?這就要借助強(qiáng)大的Python了,在腳本里讀入文本文件,把7組AD值作為x_train、x_test,對應(yīng)的轉(zhuǎn)向值pwm作為y_train、y_test,并保存成numpy數(shù)組文件以方便訓(xùn)練腳本調(diào)用,建議生成四個文件x_train.npy、x_test.npy、y_train.npy、y_test.npy,注意數(shù)據(jù)格式要符合模型結(jié)構(gòu),數(shù)據(jù)范圍要壓縮至-128~127之間用于制作測試文件。

在數(shù)據(jù)轉(zhuǎn)換時需要對AD值做一個簡單濾波。以下是我們使用的濾波算法僅供參考。

簡單的濾波算法

模型訓(xùn)練

在訓(xùn)練腳本讀取訓(xùn)練數(shù)據(jù)numpy文件,并把數(shù)據(jù)范圍標(biāo)準(zhǔn)化至-1~+1的浮點(diǎn)數(shù)。并調(diào)整數(shù)據(jù)表形狀(reshape)為模型輸入?yún)?shù)的結(jié)構(gòu)。

輸入?yún)?shù)結(jié)構(gòu)
(建議把源代碼的若干個相關(guān)行分自然段,每個自然段添加一行中文注釋。比如reshape的,astype的)

模型函數(shù):

模型函數(shù)

模型訓(xùn)練部分代碼(添加少量關(guān)鍵中文注釋):

訓(xùn)練部分代碼
這里保存了臨時文件xxx_ctx.h5,為了訓(xùn)練中途意外停止后,重新訓(xùn)練時可以支持?jǐn)帱c(diǎn)續(xù)練。

優(yōu)化器使用RMSprop,損失函數(shù)使用mean_squared_error。

訓(xùn)練損失函數(shù)

訓(xùn)練時誤差迅速下降,下降速度越來越慢,20輪訓(xùn)練后精度即已接近最終效果。這里顯示了訓(xùn)練了120次后的結(jié)果:loss=0.0044.

訓(xùn)練過程誤差

各位看官讀到這里是不是腦海里已經(jīng)有了智能車策馬奔騰的畫面了,并且迫不及待的想把訓(xùn)練好的模型部署到小車上了?
No No No,經(jīng)常被生活打臉的小編告訴你這是完全不夠的。為什么呢?很簡單模型過擬合了。AI模型運(yùn)行時會有誤差,遲早導(dǎo)致出軌,那么有哪些誤差呢:

模型計算的誤差,邏輯回歸引入的誤差,無論訓(xùn)練多少遍一定會存在一定的誤差

訓(xùn)練數(shù)據(jù)采集時的誤差,前置電感和車身電感距離上的誤差

累積誤差,前兩種誤差會導(dǎo)致小車偏離軌道以至誤差越來越大。積累到在訓(xùn)練數(shù)據(jù)里沒有出現(xiàn)過的程度時,模型就不知該怎么辦了,這是出軌的根源(說起來簡單,小編其實(shí)被虐了很久才悟出來)。

知道了癥結(jié)所在,就可以對癥下藥了:盡可能讓訓(xùn)練數(shù)據(jù)里出現(xiàn)小車的各種回歸正軌的模式。簡單的說就是要引入從偏離軌道狀態(tài)重返回軌道過程的糾正數(shù)據(jù),我們通過兩種辦法獲得糾正數(shù)據(jù)。

第1種方法:把小車電機(jī)配置成手動控制模式,但要保留轉(zhuǎn)向控制功能和數(shù)據(jù)采集功能。把小車移動到偏離位置,手動推動小車,小車原有的控制算法會矯正方向使小車回到軌道上去。同時要抓取實(shí)時數(shù)據(jù)并保存。如下視頻所示

手動控制模式采集數(shù)據(jù)

第2種方法:在用經(jīng)典算法引導(dǎo)小車時,加入隨機(jī)干擾,故意讓小車偏離軌道一會,同時讓控制算法短暫休眠,小車在此期間會出軌,待算法喚醒后趕緊再糾正回來,并且實(shí)時保存糾正的數(shù)據(jù)。如下視頻所示

經(jīng)典算法引導(dǎo)采集數(shù)據(jù)

總結(jié)一下,數(shù)據(jù)分三部分:

經(jīng)典算法導(dǎo)航的正常數(shù)據(jù)。

手動偏移的糾正數(shù)據(jù)。

經(jīng)典算法隨機(jī)干擾的糾正數(shù)據(jù)。

把三個數(shù)據(jù)合成一套訓(xùn)練數(shù)據(jù)。特別注意第2種方法中可能會引入錯誤數(shù)據(jù)(小車過度偏離賽道,手動移動小車時小車與賽道平面角度過大或與水平面距離太遠(yuǎn)),實(shí)際操作過程中要小心。由于機(jī)器學(xué)習(xí)的不可解釋特性,錯誤數(shù)據(jù)或不合適數(shù)據(jù)會導(dǎo)致不可預(yù)知的行為,所以整個過程可能需要多次嘗試和調(diào)整。

模型部署

經(jīng)過多輪的訓(xùn)練,我們得到最終的模型文件smartcar.h5。

那么怎么部署到小車上呢,這要借助“NNCU”這一套神器了。NNCU模型轉(zhuǎn)換器可以點(diǎn)擊這里從網(wǎng)盤下載,這里有個大禮包,里面有nnCU工具、教學(xué)視頻、用戶手冊,還有一個MCU+AI的ppt。
通過轉(zhuǎn)換器把模型轉(zhuǎn)換成C文件。這樣就可以很方便的集成到原有的工程中了,注意還需要集成一些依賴庫和算法庫,可以參考性能測試工程(nncie_stub.uvproj)。
從網(wǎng)盤中下載解壓nncu_test_nighty.7z,運(yùn)行“nncu_vbgui.bat”,選擇模型文件,配置信息如下:

模型配置信息
這里我們使用14位來量化模型,對于NNCU工具,9-16位都會使用16位整數(shù)來封裝。

16位量化和8位量化相比,以犧牲少量模型推理時間和加倍模型數(shù)據(jù)的代價,換來幾乎無損的精度。
這里還有個重要的小建議:雖然使用16位整數(shù)來表達(dá),但實(shí)際最好只使用其中的9-15位(未用的位會自動做有符號擴(kuò)展),是為了防止模型運(yùn)算期間的乘累加溢出。

注意輸入數(shù)據(jù)移位指數(shù)7位,這意思是說數(shù)據(jù)里有7個二進(jìn)制位用于表達(dá)分?jǐn)?shù)(或者說是小數(shù))部分。回想前文提到測試集和訓(xùn)練集中數(shù)據(jù)范圍是-128+127,而模型訓(xùn)練時,模型處理數(shù)據(jù)范圍是-1+1,所以量化數(shù)據(jù)里其實(shí)是放大到128倍了,也就是7個二進(jìn)制分?jǐn)?shù)位。

我們再看“輸出后處理類型“。由于模型是做預(yù)測,后處理需要用戶自己處理,不需要執(zhí)行引擎后處理。
中間層、輸出層分?jǐn)?shù)位數(shù):由于模型輸出是-1~+1之間,10位分辨率也比較夠用,這里占用量化總位數(shù)14位中的10位來表達(dá)分?jǐn)?shù)。大家也可以試試其它的,比如9-13,一般影響極小。
點(diǎn)擊”干活!”,會跳出后臺轉(zhuǎn)換腳本的命令窗口,稍候片刻會在nncu_pc目錄下生成model1.nncu.c—模型執(zhí)行文件。那么怎么使用以及模型量化后性能怎么樣呢?

NNCU工具里提供了測試工程“test_mcu”,各位同學(xué)可以通過這個工程測試量化后的模型性能,也可以參考這個工程來進(jìn)行模型移植工作。具體的操作,可以點(diǎn)擊看這個視頻(末尾部分),也可以看這篇微信文章"在MCU上實(shí)現(xiàn)AI深度學(xué)習(xí),你想知道的都在這兒"以了解更多。

測試性能,首先需要制作測試數(shù)據(jù)集。我們把a(bǔ)d_test_dat.npy作為輸入,把模型計算結(jié)果和pwm_test_label.npy值的平方差作為誤差,計算平均差值來評估量化后的模型性能。

把訓(xùn)練集和測試集復(fù)制到”datasetssmartcar_ad”目錄,命名如下:

存儲訓(xùn)練集和測試集合的目錄

點(diǎn)擊工具右下角“制作測試數(shù)據(jù)”按鈕。選擇迷你數(shù)據(jù)集中smartcar_ad,點(diǎn)擊”干活"。在目錄nncu_pc下生成測試文件smartcar_ad.nctv.c。

生成測試文件
下一步是測試模型性能(參照幫助視頻“nncu_使用入門.mp4”)??截恗odel1.nncu.c, smartcar_ad.nctv.c到目錄test_mcuoardsevkmimxrt1060demo_apps ncie_stub中,覆蓋原有文件:model.nncu.c,tv.nctv.c。

打開工程mdk ncie_stub.uvprojx,在helo_world.c中的測試函數(shù)CIETest,模型計算測試集求得平均差值。平均差值越小表示模型在測試集的擬合性越高。但注意這是沒有累積誤差情況下,實(shí)際上需要多加入回歸正軌的數(shù)據(jù),否則即使差值小也不能保證實(shí)際效果,只是模型過擬合,在測試集上表現(xiàn)的很好。

應(yīng)用模型激素測試集合進(jìn)行測試

CI_RunModelXIP_NoCopyOutput(pvModel, pImg + 8, (void**)&g_out);

是模型執(zhí)行的函數(shù)調(diào)用,用法如下:

pvModel – 模型數(shù)據(jù),在model1.nncu.c定義,包含了模型的信息和參數(shù)

pImg + 8 – x_text 也就是7個AD數(shù)值

g_out – 模型輸出buffer,根據(jù)配置輸出為16bit,帶有分?jǐn)?shù)位的數(shù)據(jù)。需要移位得到-128~+127的數(shù)值范圍才能發(fā)送給舵機(jī)。

編譯工程,通過JLink連接板子,并打開串口程序,接收串口的調(diào)試信息。開始debug模式,工程默認(rèn)使用sram運(yùn)行程序,等待測試程序執(zhí)行。執(zhí)行結(jié)束后,串口會輸出執(zhí)行結(jié)果:即平均差值,和平均執(zhí)行時間。

小編訓(xùn)練的模型6000次平均差值是16,每次計算時間1.87dms——0.187ms。

o4YBAF_pktSAbcYgAACOxclUo0U798.png

串口輸出測試結(jié)果

實(shí)戰(zhàn)演習(xí)

經(jīng)過模擬測試,模型性能符合預(yù)期,下一步就是把相關(guān)代碼集成到電磁車系統(tǒng)中。首先集成nncie庫nncie_imxrt10x0.lib,model.nncu.c,以及nncu_mcucmsis_nnSource中的CMSIS_NN相關(guān)代碼(參照測試工程)。其次集成模型的調(diào)用方法:

o4YBAF_pkuGABtizAADaoN6bz3I138.png

模型調(diào)用方法
model1數(shù)組就是模型數(shù)據(jù),ad_array是7個電感數(shù)據(jù)(如果12bit,需要移位到8bit),pwm是模型計算的轉(zhuǎn)向值(范圍-128+127)。請注意,制作訓(xùn)練數(shù)據(jù)時,為了方便訓(xùn)練計算,我們把轉(zhuǎn)向值范圍由真實(shí)值-420420壓縮到了-128127,所以在控制舵機(jī)時,需要把計算所得的轉(zhuǎn)向值放大到-420+420。

現(xiàn)在小伙伴可以在賽道上驗證模型的實(shí)際性能了,可能第一次不會成功,需要多些耐心處理訓(xùn)練數(shù)據(jù)反復(fù)的重新訓(xùn)練,迭代調(diào)試了。

結(jié)果展示

這是小編訓(xùn)練的模型的實(shí)際運(yùn)行情況(摘除了前置采集裝置)

AI電磁車模實(shí)際運(yùn)行情況

未來展望

以上是AI機(jī)器學(xué)習(xí)部署到電磁智能車的全過程,可以驗證機(jī)器學(xué)習(xí)在電磁智能車上實(shí)施的可行性。
在這個過程中遇到很多問題,主要是處理分析訓(xùn)練數(shù)據(jù),經(jīng)過多次迭代訓(xùn)練才得到一個基本可靠的模型。
當(dāng)然還存在一些有待改進(jìn)地方:

小車目前還是勻速運(yùn)動,沒有速度變化,怎樣設(shè)計更好的模型來引入速度參數(shù)?

數(shù)據(jù)獲得方式是不是有更好的辦法,通過對電磁軌道的模擬,來通過公式工具推導(dǎo)訓(xùn)練數(shù)據(jù)?

怎樣可以引入更加豐富的賽道內(nèi)容,比如交通引導(dǎo)線,指示燈,障礙物?等等。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4844

    瀏覽量

    108232
  • AI
    AI
    +關(guān)注

    關(guān)注

    91

    文章

    41520

    瀏覽量

    302817
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    IMX8M Plus 板上部署立體視覺模型 CPU 回退錯誤 IMX8M Plus問題

    您好,我想在 IMX8M Plus 板上部署立體視覺模型。我已經(jīng)量化了模型并將其轉(zhuǎn)換為 TFlite 架構(gòu),但是當(dāng)模型部署在模型上時,當(dāng)存在 NPU 無法處理的算子時,我會遇到分割錯誤。當(dāng)模型僅使用 CPU 運(yùn)行時,沒有問題。CPU 不是應(yīng)該自動處理不受支持的運(yùn)算符嗎?謝
    發(fā)表于 04-29 07:23

    AI模型訓(xùn)練與部署實(shí)戰(zhàn) | 線下免費(fèi)培訓(xùn)

    你是否想系統(tǒng)了解AI落地全鏈路,但缺少一個完整的實(shí)戰(zhàn)項目練手?模型部署環(huán)節(jié)繁多,缺乏一套清晰的實(shí)戰(zhàn)路徑?4月18日、4月25日、5月16日RT-Thread將分別在蘇州、成都、南京舉辦“AI
    的頭像 發(fā)表于 04-07 13:08 ?708次閱讀
    <b class='flag-5'>AI</b>模型訓(xùn)練與<b class='flag-5'>部署</b>實(shí)戰(zhàn) | 線下免費(fèi)培訓(xùn)

    AI端側(cè)部署開發(fā)(SC171開發(fā)套件V2-FAS)

    AI端側(cè)部署開發(fā)(SC171開發(fā)套件V2-FAS) 序列 課程名稱 視頻課程時長 視頻課程鏈接 課件鏈接 工程源碼 1 Fibo AI Stack模型轉(zhuǎn)化指南 27分19秒 https
    發(fā)表于 02-11 11:44

    AI端側(cè)部署開發(fā)(SC171開發(fā)套件V3)2026版

    AI端側(cè)部署開發(fā)(SC171開發(fā)套件V3)2026版 序列 課程名稱 視頻課程時長 視頻課程鏈接 課件鏈接 工程源碼 1 Fibo AI Stack模型轉(zhuǎn)化指南 27分19秒 https
    發(fā)表于 01-15 10:31

    工廠人員定位軟件管理系統(tǒng)從部署實(shí)施流程、ROI分析到風(fēng)險與避坑要點(diǎn)詳解(二)

    本文詳解工廠人員定位系統(tǒng)部署全流程,涵蓋勘測、POC驗證、分階段實(shí)施及驗收培訓(xùn);結(jié)合ROI分析與風(fēng)險規(guī)避要點(diǎn),助力企業(yè)實(shí)現(xiàn)安全、高效、合規(guī)的人員管理智能化升級。
    的頭像 發(fā)表于 01-14 17:33 ?241次閱讀

    如何在NVIDIA Jetson AGX Thor上部署1200億參數(shù)大模型

    我們將嘗試能否在 Jetson AGX Thor 上部署并成功運(yùn)行高達(dá) 1,200 億參數(shù)量的 gpt-oss-120b 大模型。
    的頭像 發(fā)表于 12-26 17:06 ?5306次閱讀
    如何在NVIDIA Jetson AGX Thor<b class='flag-5'>上部署</b>1200億參數(shù)大模型

    1 GHz Arm? Cortex?-M85 MCU上部署AI模型

    ,即可體驗在1GHzArmCortex-M85MCU上部署AI模型。(公眾號后臺回復(fù)RA8P1,加入交流群)目錄應(yīng)用效果預(yù)覽流程圖環(huán)境準(zhǔn)備訓(xùn)練模型ai模型轉(zhuǎn)換ai
    的頭像 發(fā)表于 12-02 21:04 ?9670次閱讀
    1 GHz Arm? Cortex?-M85 MCU<b class='flag-5'>上部署</b><b class='flag-5'>AI</b>模型

    迅為如何在RK3576上部署YOLOv5;基于RK3576構(gòu)建智能門禁系統(tǒng)

    迅為如何在RK3576開發(fā)板上部署YOLOv5;基于RK3576構(gòu)建智能門禁系統(tǒng)
    的頭像 發(fā)表于 11-25 14:06 ?2016次閱讀
    迅為如何在RK3576<b class='flag-5'>上部署</b>YOLOv5;基于RK3576構(gòu)建智能門禁系統(tǒng)

    求一套聽聲辯位的算法,并在板機(jī)上部署

    求一套聽聲辯位的算法,并在板機(jī)上部署。有謝。
    發(fā)表于 11-10 23:07

    如何快速在云服務(wù)器上部署Web環(huán)境?

    如何快速在云服務(wù)器上部署Web環(huán)境
    的頭像 發(fā)表于 10-14 14:16 ?912次閱讀

    如何在基于Arm架構(gòu)的邊緣AI設(shè)備上部署飛槳模型

    當(dāng) Arm 與領(lǐng)先的開源深度學(xué)習(xí)平臺強(qiáng)強(qiáng)聯(lián)合,會帶來什么?那就是推動創(chuàng)新的“火箭燃料”。Arm 攜手百度,利用雙方在高能效計算平臺與 AI 模型的技術(shù)積累,助力廣大開發(fā)者加快邊緣 AI 解決方案的開發(fā)和部署。
    的頭像 發(fā)表于 09-06 14:07 ?1491次閱讀

    ai_cube訓(xùn)練模型最后部署失敗是什么原因?

    ai_cube訓(xùn)練模型最后部署失敗是什么原因?文件保存路徑里也沒有中文 查看AICube/AI_Cube.log,看看報什么錯?
    發(fā)表于 07-30 08:15

    Arm方案 基于Arm架構(gòu)的邊緣側(cè)設(shè)備(樹莓派或 NVIDIA Jetson Nano)上部署PyTorch模型

    本文將為你展示如何在樹莓派或 NVIDIA Jetson Nano 等基于 Arm 架構(gòu)的邊緣側(cè)設(shè)備上部署 PyTorch 模型。
    的頭像 發(fā)表于 07-28 11:50 ?3123次閱讀

    stm32N657上部署cubeAI生成代碼,編譯出錯的原因?怎么解決?

    你好,要怎么在stm32N657上部署cubeAI生成代碼呢,編譯出錯,我使用cubeAI生成的手寫數(shù)字模型的代碼,編譯報錯 要怎么配置呢,我看其他AI demo都是分了兩個文件,這里要怎么燒錄進(jìn)去使用呢?
    發(fā)表于 06-20 06:31

    STM32F769是否可以部署邊緣AI?

    STM32F769是否可以部署邊緣AI
    發(fā)表于 06-17 06:44
    绿春县| 绥中县| 东丰县| 成武县| 青岛市| 建水县| 南开区| 重庆市| 英吉沙县| 霍山县| 平罗县| 四平市| 五大连池市| 莎车县| 东港市| 连州市| 仪征市| 上犹县| 灌云县| 信阳市| 尤溪县| 绥芬河市| 富民县| 亳州市| 禹城市| 靖安县| 天镇县| 遵义市| 井冈山市| 龙胜| 阆中市| 房山区| 年辖:市辖区| 彭州市| 陵川县| 万源市| 衡水市| 安多县| 綦江县| 额尔古纳市| 韶关市|