MySQLdb python的mysql客戶端封裝

搭建人臉識(shí)別系統(tǒng)需要使用把特征存儲(chǔ)到數(shù)據(jù)庫(kù),以及從數(shù)據(jù)庫(kù)中讀取特征進(jìn)行比較,因此使用MySQLdb進(jìn)行mysql數(shù)據(jù)庫(kù)的簡(jiǎn)單操作

https://pypi.python.org/pypi/MySQL-python/1.2.5

安裝可以直接使用pip安裝 也可以直接下源碼編譯

特征是一個(gè)128維的浮點(diǎn)數(shù)向量,嘗試了兩種存儲(chǔ)的方式:
方式1: 在表中創(chuàng)建128個(gè)列,每個(gè)列存儲(chǔ)一個(gè)DOUBLE類(lèi)型的數(shù)據(jù),存儲(chǔ)成f0, f2, ..., f127,
方式2: 把這個(gè)浮點(diǎn)數(shù)向量使用python的json模塊進(jìn)行序列化 json.dumps 成為一個(gè)字符串后以TEXT類(lèi)型數(shù)據(jù)存儲(chǔ),取出的時(shí)候再使用json.load還原成向量,浮點(diǎn)數(shù)精度取了10位,粗略估計(jì)一下按20計(jì)算每一個(gè)維度,則每一個(gè)向量存儲(chǔ)空間不大于20*128, TEXT類(lèi)型能夠存儲(chǔ)下。

比較了一下兩種存儲(chǔ)方式在查詢的時(shí)候的時(shí)間

外網(wǎng)連接數(shù)據(jù)庫(kù)+方式1
外網(wǎng)連接數(shù)據(jù)庫(kù)+方式2

多次實(shí)驗(yàn)后發(fā)現(xiàn)基本是blob稍微還要慢一點(diǎn)點(diǎn),但是總體來(lái)說(shuō)差距不是很大

之后在表上建立了一些索引,優(yōu)化了一下SQL,發(fā)現(xiàn)基本查詢時(shí)間都在100秒左右

這時(shí)候考慮到是不是傳輸都數(shù)據(jù)量比較大,導(dǎo)致時(shí)間沒(méi)辦法減小

正在糾結(jié)都時(shí)候突然發(fā)現(xiàn)數(shù)據(jù)庫(kù)使用的外網(wǎng)連接地址,修改成內(nèi)網(wǎng)連接后,獲得了100X的提速

內(nèi)網(wǎng)連接數(shù)據(jù)庫(kù)+方式1
內(nèi)網(wǎng)連接數(shù)據(jù)庫(kù)+方式2

差距不是太大基本都可以用了
這是一個(gè)比較大大數(shù)據(jù)量大場(chǎng)景下,一共有3700+張圖片,共識(shí)別出臉5300+個(gè)
一般場(chǎng)景下大概是600張圖片,人臉1000個(gè)左右 數(shù)據(jù)庫(kù)查詢時(shí)間基本在0.2秒以下

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容