91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用Python合并lmdb文件

發布時間:2020-09-13 01:28:28 來源:腳本之家 閱讀:176 作者:SnailTyan 欄目:開發技術

由于Caffe使用的存儲圖像的數據庫是lmdb,因此有時候需要對lmdb文件進行操作,本文主要講解如何用Python合并lmdb文件。沒有lmdb支持的,需要用pip命令安裝。

pip install lmdb

代碼及注釋如下:

# coding=utf-8
# filename: merge_lmdb.py

import lmdb

# 將兩個lmdb文件合并成一個新的lmdb
def merge_lmdb(lmdb1, lmdb2, result_lmdb):

  print 'Merge start!'

  # env代表Environment, txn代表Transaction

  # 打開lmdb文件,讀模式
  env_1 = lmdb.open(lmdb1)
  env_2 = lmdb.open(lmdb2)

  # 創建事務
  txn_1 = env_1.begin()
  txn_2 = env_2.begin()

  # 打開數據庫
  database_1 = txn_1.cursor()
  database_2 = txn_2.cursor()

  # 打開lmdb文件,寫模式,
  env_3 = lmdb.open(result_lmdb, map_size=int(1e12))
  txn_3 = env_3.begin(write=True)

  count = 0
  # 遍歷數據庫
  for (key, value) in database_1:
    # 將數據放到結果數據庫事務中
    txn_3.put(key, value)
    count++
    if(count % 1000 == 0):
      # 將數據寫入數據庫,必須的,否則數據不會寫入到數據庫中
      txn_3.commit()
      count = 0
      txn_3 = env_3.begin(write=True)

  if(count % 1000 != 0):
    txn_3.commit()
    count = 0
    txn_3 = env_3.begin(write=True)

  for (key, value) in database_2:
    txn_3.put(key, value)
    if(count % 1000 == 0):
      txn_3.commit()
      count = 0
      txn_3 = env_3.begin(write=True)

  if(count % 1000 != 0):
    txn_3.commit()
    count = 0
    txn_3 = env_3.begin(write=True)

  # 關閉lmdb
  env_1.close()
  env_2.close()
  env_3.close()

  print 'Merge success!'

  # 輸出結果lmdb的狀態信息,可以看到數據是否合并成功
  print env_3.stat()

def main():
  fr = open('lmdb.txt')
  # lmdb1的目錄
  lmdb1 = fr.readline().strip()
  # lmdb2的目錄
  lmdb2 = fr.readline().strip()
  # result lmdb的目錄
  result_lmdb = fr.readline().strip()
  fr.close()
  merge_lmdb(lmdb1, lmdb2, result_lmdb)

if __name__ == '__main__':
  main()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临西县| 龙海市| 都兰县| 富裕县| 周宁县| 太康县| 乌拉特后旗| 天门市| 张家口市| 都兰县| 咸宁市| 汤原县| 札达县| 海盐县| 白朗县| 视频| 泗洪县| 贵港市| 湟源县| 北票市| 濮阳市| 广饶县| 凤山县| 桂平市| 葵青区| 河西区| 凤城市| 岳普湖县| 鄯善县| 蒙自县| 仁化县| 五华县| 饶河县| 桦甸市| 白朗县| 汝南县| 平阳县| 色达县| 嵊州市| 达尔| 宣城市|