当前位置: 首页 > news >正文

优良网站图片制作器在线制作

优良网站,图片制作器在线制作,中国食品加工网,seo流量增长策略技术背景 一般情况下我们会选择使用明文形式来存储数据#xff0c;如json、txt、csv等等。如果是需要压缩率较高的存储格式#xff0c;还可以选择使用hdf5或者npz等格式。还有一种比较紧凑的数据存储格式#xff0c;就是直接按照二进制格式存储。这种格式下#xff0c;存储…技术背景 一般情况下我们会选择使用明文形式来存储数据如json、txt、csv等等。如果是需要压缩率较高的存储格式还可以选择使用hdf5或者npz等格式。还有一种比较紧凑的数据存储格式就是直接按照二进制格式存储。这种格式下存储的数据之间没有间隔符在没有压缩的情况下应该是体积最小的存储类型。 使用方法 在Python中我们可以使用numpy.tofile()功能直接将numpy数组类型存储到一个二进制文件中。读取的时候虽然可以直接使用open(file_name, rb)来进行读取但是为了适配大量IO的场景这里我们使用内存映射mmap的形式来进行数据读取。 完整示例 如下是一个完整的示例代码相关的功能直接用注释的形式在代码中标记 import numpy as np import mmap import resource # 获取页数据量大小单位字节 PAGE_SIZE resource.getpagesize() # 定义单精度浮点数数据占用字节单位字节 DATA_SIZE 4 # 计算页存储数据数量num_float32 PAGE_FNUM int(PAGE_SIZE/DATA_SIZE) print (The PAGE_SIZE is: {}.format(PAGE_SIZE)) print (Corresponding float32 numbers should be: {}.format(PAGE_FNUM)) # 生成示例数据使用PAGE_FNUM4大小的数据量定义两页数据 tmp_arr np.arange(PAGE_FNUM4).astype(np.float32) # 数据存储路径 tmp_file /tmp/tmp.dat # 将数组存储到二进制文件中 tmp_arr.tofile(tmp_file) # 每次从二进制文件中读取4个数据 READ_NUM 4 with open(tmp_file, rb) as file:# 第一页数据的内存映射mm mmap.mmap(file.fileno(), 0, accessmmap.ACCESS_READ, offset0)# 第一页数据的1、2、3、4位数据print (np.frombuffer(mm.read(DATA_SIZE*READ_NUM), dtypef4))# 第一页数据的5、6、7、8位数据print (np.frombuffer(mm.read(DATA_SIZE*READ_NUM), dtypef4))# 第二页数据的内存映射mm mmap.mmap(file.fileno(), 0, accessmmap.ACCESS_READ, offsetPAGE_SIZE)# 第二页数据的1~4位数据print (np.frombuffer(mm.read(DATA_SIZE*READ_NUM), dtypef4))# 第二页数据的5~8位数据print (np.frombuffer(mm.read(DATA_SIZE*READ_NUM), dtypef4))# 关闭内存映射mm.close() # 退出文件IO 该脚本的输出结果为 The PAGE_SIZE is: 4096 Corresponding float32 numbers should be: 1024 [0. 1. 2. 3.] [4. 5. 6. 7.] [1024. 1025. 1026. 1027.] [] 结果解析 我们打印的第一个数据是页大小这里显示是4096个字节。而一个单精度浮点数占4个字节所以一页存了1024个单精度浮点数也就是第二个打印输出的结果。由于我们定义的numpy数组是一个从0开始的递增数组因此第一页数据的前8位数字就是从0到7。而第二页的数据是1024~1027一共4个浮点数占16个字节。所以我们在第二页第二次使用numpy.frombuffer()去读取数据的时候得到的是一个空的数组。此外我们可以查看一下这个二进制文件的大小 In [1]: import osIn [2]: os.path.getsize(/tmp/tmp.dat) Out[2]: 4112 一共是4112个字节刚好是409616个字节。 总结概要 本文介绍了一种在Python中将Numpy数组转存为一个紧凑的二进制格式的文件及其使用内存映射的形式进行读取的方案。一个二进制的数据流不仅可以更加方便页形式的内存映射相比于传统的Numpy单精度浮点数数组还有一个可哈希的特性。总体来说是一个对于高性能计算十分友好的存储格式在cudaSPONGE中作为一个分子动力学模拟轨迹输出的格式使用。 文章转载自Dechin的博客 原文链接https://www.cnblogs.com/dechinphy/p/18404896/dat 体验地址引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构
http://www.zqtcl.cn/news/635389/

相关文章:

  • 南宁关键词网站排名wordpress付免签插件
  • 龙岩网站定制电子政务与网站建设方面
  • 东莞网站制作十强英语培训机构网站建设策划书
  • 住房和城乡建设部网站加装电梯苏州外发加工网
  • 企业网站管理系统带授权广州seo报价
  • 建设门户网站的意义旅游电商网站建设方案模板
  • 网站做动态图片不显示某购物网站开发项目
  • 大淘客网站logo怎么做紫鸟超级浏览器手机版
  • 专做公司网站 大庆wordpress编辑器百度云
  • 企业手机网站模板下载网站建设实训 考核要求
  • 企业网站建设的ppt4414站长平台
  • 物流网站制作怎么做pc网站开发
  • 合肥做网站可以吗网站程序 seo
  • 网站备案 动态ip网站多域名
  • 网站加速免费电子商务网站建设的认识
  • 做职业资格考试的网站有哪些网页游戏排行榜2024前十名
  • 网站设计方案怎么写wordpress仿站软件
  • 汕头建站模板系统北京有哪些电商平台公司
  • 深圳网站建设zhaoseo小包工头接活的平台
  • 电商平面设计前景如何seo推广什么意思
  • 网站解析不了wordpress 密码失败
  • 临沂企业建站系统模板扮家家室内设计
  • 做简单网站用什么软件网站开发国外研究现状
  • 江苏seo推广网站建设湖南软件定制开发
  • 台州商务网站手机端seo
  • 网站的切换语言都是怎么做的有哪些开发网站公司
  • 上海人才中心网站湖州建设公司网站
  • 网站的前台后台网站建设公司新报
  • 菜鸟式网站建设图书深圳建站公司好坏
  • 品牌网站建设熊掌号一级消防工程师考试通过率多少