由于工作需要,将C++生成的矩阵存入LMDB再用caffe进行处理,输出的矩阵失去了它原本的shape,因此只能记录下来:
矩阵X(n*ell):

-372302407
1319544887
-223830618
-184109131
-328009648
-182855917

749988319
-1387505086
-1967883425
1022949309
1680638116
1541327498

矩阵Y(r*n):

1
0
0
0
11
-34
-280
109
151
-205
-105

156
-152
-151
27
199
-202
-125
-95

# 向lmdb数据库存入两个矩阵X和y,大小分别为n*ell、r*nimport numpy as np
import lmdb# X:r*n
# Y:n*ellr = 4
n = 32
ell = 30X_path = './X.txt'
Y_path = './Y.txt'def write_lmdb(filename):print('Write lmdb')lmdb_env = lmdb.open(filename, map_size=int(1e9))n_samples= 1# 读入Xwith open(X_path, 'r') as f:# 读取图像文件的二进制格式数据X_temp = f.read()X_temp = X_temp.split('\n')del (X_temp[-1])X = [int(i) for i in X_temp]X = np.array(X).astype(np.int64)# print(X)# 读入Ywith open(Y_path, 'r') as f:# 读取图像文件的二进制格式数据Y_temp = f.read()Y_temp = Y_temp.split('\n')del (Y_temp[-1])y = [int(i) for i in Y_temp]y = np.array(y).astype(np.int64)# print(y)# 写入LMDBfor i in range(n_samples):with lmdb_env.begin(write=True) as lmdb_txn:lmdb_txn.put(str('X_'+str(i)).encode(), X)lmdb_txn.put(str('y_'+str(i)).encode(), y)print('X:',X)print('y:',y)def read_lmdb(filename):print('Read lmdb')lmdb_env = lmdb.open(filename)lmdb_txn = lmdb_env.begin()lmdb_cursor = lmdb_txn.cursor()n_samples=1read_array = []with lmdb_env.begin() as lmdb_txn:with lmdb_txn.cursor() as lmdb_cursor:for key, value in lmdb_cursor:if('X'.encode() in key):read_temp = np.frombuffer(value, dtype=np.int64)read_array.append(read_temp)if('y'.encode() in key):read_temp = np.frombuffer(value, dtype=np.int64)read_array.append(read_temp)n_samples = n_samples + 1x_read_temp = read_array[0]x_read = []x_read_line = []print("X: ")for i in range(x_read_temp.size):x_read_line.append(x_read_temp[i])if len(x_read_line) == (n+r)*ell: # 列数x_read.append(x_read_line.copy())x_read_line.clear()print(x_read)y_read_temp = read_array[1]y_read = []y_read_line = []print("Y: ")for i in range(y_read_temp.size):y_read_line.append(y_read_temp[i])if len(y_read_line) == n+r: # 列数y_read.append(y_read_line.copy())y_read_line.clear()print(y_read)print('n_samples',n_samples)write_lmdb('temp.db')
read_lmdb('temp.db')

输出如下:

Write lmdb
X: [-372302407 1319544887 -223830618 ... 1998175905 -616375716 -132621858]
y: [   1    0    0    0   11  -34 -280  109  151 -205 -105    3  156 -152-151   27  199 -202 -125  -95  318  -88 -173  273  262 -127 -152 -322-18  198  110   65   14 -310  192  103    0    1    0    0 -215 -2170  -65 -123 -110  171   39  -78  -21   24  -61   23  -44  113  184169 -240 -157  -16  136  182 -331  156   26  112 -188 -175  244 -19530 -228    0    0    1    0  -55  -15  -62  -41  -24 -140  -94  198-130   -4  -33 -206  256 -230 -406 -170   84  -45 -283 -136   38  -3964  -84   85  -85   41 -241  -42 -107  -19 -135    0    0    0    1124    5 -235 -121   49 -115  242  -61 -353  106  353 -210 -194  219-228  183  -80  110  218 -243   10 -190 -338  -75   11 -177   31 -208176  -66   97 -134]
Read lmdb(由于数据太长,省略了后面的)
X:
[[-372302407, 1319544887, -223830618, -184109131, ...], ...]
Y:
[[1, 0, 0, 0, 11, -34, -280, 109, 151, -205, ...], ...]

python将矩阵存为lmdb文件相关推荐

  1. python读取.mat文件,python将变量存为.mat文件详细介绍

    在进行数据处理的过程中,经常会用到Matlab和python两种工具,.mat文件是Matlab数据存储的标准数据格式,通过创建一个.mat文件详细介绍两种工具之间的数据读取和存储. 一.python ...

  2. Python将list存为csv文件

    #!/usr/bin/env python # -*- encoding: utf-8 -*-import sys import json import os import pandas as pd& ...

  3. python把矩阵存为文件_python 读取文件并把矩阵转成numpy的两种方法

    在当前目录下: 方法1: file = open('filename') a =file.read() b =a.split('\n')#使用换行 len(b) #统计有多少行 for i in ra ...

  4. Python 将矩阵保存为excel文件

    import xlwt # 负责写excel import xlrd filename =xlwt.Workbook() #创建工作簿 sheet1 = filename.add_sheet(u'sh ...

  5. Python中利用numpy将数组(矩阵)存成csv文件,将csv文件读取为数组(矩阵)

    Python中利用numpy将数组(矩阵)存成csv文件,将csv文件读取为数组(矩阵) 本博客转载自:https://blog.csdn.net/vernice/article/details/50 ...

  6. mysql讀取sql_MySQL数据库之python json及mysql读取json文件存sql等问题

    本文主要向大家介绍了MySQL数据库之python json及mysql读取json文件存sql等问题 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. preface: 近期帮师 ...

  7. Python爬取的数据存为json文件,并读取

    Python爬取的数据存为json文件,并读取 import requests import time from lxml import etree import jsondef json_data_ ...

  8. 使用Python批量实现某一Excel文件中每3行数据存一个Excel文件

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 远芳侵古道,晴翠接荒城. 大家好, ...

  9. 基于Python的DICOM文件转换教程,使用pydicom将图片存为DICOM文件。

    基于Python的DICOM文件转换教程,使用pydicom将图片存为DICOM文件. DICOM是医学图像和信息的数字化标准,可用于将医学影像数据.诊断报告等信息在医疗领域进行传输.分享和分析.而常 ...

最新文章

  1. 使用现代C++如何避免bugs(下)
  2. Android 趣味应用—— 短信编辑器
  3. CentOS用yum安装X Window
  4. oc引导win方法_[OC更新]机械革命10代标压稳定版更新
  5. linux下织梦cms安装环境配置文件,Mac本地环境配置以及安装织梦CMS,增加新的坑解决办法...
  6. 利用最大熵进行阈值分割从而实现灰度图像的二值化的原理概要及OpenCV代码
  7. UVa 537 - Artificial Intelligence?
  8. Table表格的单元格提示
  9. Direct3D提高篇:HLSL编程实现PhotoShop滤镜效果(1)
  10. python(numpy,pandas1)——numpy(ndim,shape,size,zero, empty, arange, linspace)
  11. mysql合并表中的数据
  12. android获取QQ昵称,【Ctrl.js】QQ读取好友昵称和QQ号源码
  13. NET流行高性能JSON框架-Json.NET
  14. 使用 Segue 傳送選取的 Table Cell 內容到下一個 View
  15. uniapp/vue 组件之间的传值
  16. c语言16qam,基于FPGA的高阶QAM调制器的实现
  17. python3GUI--你喜欢的无损音乐下载工具(附源码)
  18. 我的去 Google 化的安卓之旅
  19. Playing Atari with Deep Reinforcement Learning-笔记
  20. 2018互联网大会,科幻大片照进现实!

热门文章

  1. VMware 快照系统
  2. 地下水分析测试项目与方法(无机部分)
  3. 在Puppy Linux中安装Firefox
  4. python的messagebox的用法_Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解...
  5. 全球及中国可穿戴科技设备行业前景动态及投资趋势预测报告2022-2027年
  6. pythonwin10下使用定时任务执行爬虫程序
  7. 使用CruiseControl搭建自己的持续集成环境
  8. web页面设计的几个案例
  9. FP6291芯片输出电压12V,DC-DC升压芯片
  10. Golang - 开篇必须吹牛逼