导航:首页 > 文件处理 > hdf5压缩

hdf5压缩

发布时间:2023-04-13 22:21:27

linux caffe支持的cuda capability 最小是多少

由于最近安装了Ubuntu16.04,苦于之前配置Caffe的教程都在版本14.04左右,无奈只能自己摸索,最终配置成功。本文教程的特点是不需要降级gcc的版本,毕竟cuda7.5不支持gcc5以上(默认不支持,实际支持),避免出现一系列乱七八糟的问题,反正之前我是碰到了。
本文是在参考caffe官网教程(http://caffe.berkeleyvision.org/installation.html)结合自己总结经验而来,对此表示感谢。

1.所需文件下载
1.1.Ubuntu16.04在官网下载(http://www.ubuntu.org.cn/download/desktop),然后在windows下用UltraISO制作,相关文章搜索有一大片,此处不再赘述。
1.2.cuda7.5下载,下载的版本是ubuntu15.04的run文件,个人感觉比较方便。
1.3.cudnn4.0下载(https://developer.nvidia.com/cudnn),进去之后如果有注册过nvidia的账户直接点击download,否则需要注册一个账户,注册完之后有一个调查,随便选几个钩就可以,然后下一步是接受条款开始就可以下载了。
1.4.caffe下载(https://github.com/BVLC/caffe)就在官方的github下载就可以了。

2.显卡驱动安装
2.1.第一种方法是直接在ubuntu系统设置,软件和更新里面,选择中国的服务器源刷新之后,点击附加驱动选项,在Nvidia Corporation选择361.42(强迫症必须安装最新的),然后点击应用更改,下载安装完之后重启。
2.2.第二种方法是去官方下载(http://www.geforce.cn/drivers)好驱动的run文件,选择对应显卡型号下载。然后关机把显示器插到集成显卡接口上,或者终端下
sudo gedit /etc/modprobe.d/blacklist.conf
输入密码后在最后一行编辑上
blacklist nouveau
Ctrl +C保存后终端输入
sudo update-initramfs -u
重启之后在界面按Ctrl+Alt+F2,输入root以及密码,然后
service lightdm stop
sh 你自己的驱动文件的完整路径,默认选项就可以安装了,安装后重启

3.Cuda7.5安装
3.1.以文件名为cuda.run为例,终端下输入
sh cuda.run --override 启动安装程序,此处有大量的条款,一路空格到最后 输入accept,依次输入y回车,然后n(不安装显卡驱动),然后一路y回车,有一个地方需要输入密码,还有两个地方确认安装路径,直接回车即可,完成安装,默认安装路径是/usr/local
将下载下来的cudnn-7.0-linux-x64-v4.0-prod.tgz 解压之后,解压后的cuda文件夹先打开里面的include文件夹,空白右键在终端打开输入:
sudo cp cudnn.h /usr/local/cuda/include/
cd ~/cuda/lib64
sudo cp lib* /usr/local/cuda/lib64/
继续更新文件链接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.4
sudo ln -s libcudnn.so.4.0.7 libcudnn.so.4
sudo ln -s libcudnn.so.4 libcudnn.so
然后设置环境变量
sudo gedit /etc/profile
在末尾加入
PATH=/usr/local/cuda/bin:$PATH
export PATH
保存之后创建链接文件
sudo vim /etc/ld.so.conf.d/cuda.conf
键盘按i进入编辑状态,添加文字
/usr/local/cuda/lib64
然后按esc,输入:wq保存退出。
终端下接着输入
sudo ldconfig 使链接生效

4.生成Cuda Sample测试
首先在此之前先把需要的依赖包都安装好,为接下来make caffe做准备
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
然后开始make samples ,终端下
cd /home/gomee/NVIDIA_CUDA-7.5_Samples
sudo make all -j4
我是4核电脑所以用了j4,正常情况下肯定会报错“unsupported GNU version! gcc versions later than 4.9 are not supported!”,原因就是这个cuda不支持gcc5.0以上,终端运行
cd /usr/local/cuda-7.5/include
cp host_config.h host_config.h.bak
sudo gedit host_config.h
Ctrl+F寻找有”4.9”的地方,应该是只有一处,在其上方的
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 9)将两个4改成5,保存退出,继续
cd /home/gomee/NVIDIA_CUDA-7.5_Samples
sudo make all -j4
这就应该开始make了,此处大约有5、6分钟。完成之后
cd /home/gomee/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux
./deviceQuery
会出现类似以下的信息
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 750 Ti"
CUDA Driver Version / Runtime Version 8.0 / 7.5
CUDA Capability Major/Minor version number: 5.0
Total amount of global memory: 2047 MBytes (2146762752 bytes)
( 5) Multiprocessors, (128) CUDA Cores/MP: 640 CUDA Cores
GPU Max Clock rate: 1228 MHz (1.23 GHz)
Memory Clock rate: 3004 Mhz
Memory Bus Width: 128-bit
L2 Cache Size: 2097152 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent and kernel execution: Yes with 1 engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 750 Ti
Result = PASS
这就说明成功了。

5.python配置
将之前github下载的caffe压缩文件解压缩到任一目录,然后安装python
python的版本安装有两种方式:
第一是直接安装anaconda,去官网下载 ,选择linux 64bit 2.7版本下载安装,anaconda安装方便但是需要在最后的make配置文件中更改python包含路径。
第二种方法就是使用原生的python2.7版本,终端下
sudo apt-get install python-pip 安装pip
这里我们用pip安装一些python需要的依赖包,不过为了避免各种问题,也可以通过apt-get安装,反正我这两种方式都安装了一遍(-.-)
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
以caffe默认解压到/home/user(你的用户名)/ ,文件夹名名称caffe为例
cd /home/user/caffe/python
sudo su
for req in $(cat requirements.txt); do pip install $req; done
这里用pip安装可能速度很慢,很可能下载好几个小时,推荐用清华大学的pip源临时安装,所以命令改为如下:
for req in $(cat requirements.txt); do pip install -i https://pypi.tuna.tsinghua.e.cn/simple $req; done
这里如果第一次有很多红字错误,建议再运行几遍指导安装成功,对于黄字提示无需理会,可能是pip版本需要更新。

6.Caffe编译过程
接下来要进入最后的步骤了,终端中
cd /home/user/caffe
cp Makefile.config.example Makefile.config
gedit Makefile.config
将USE_CUDNN := 1 取消注释,在
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include后面打上一个空格 然后添加/usr/include/hdf5/serial 如果没有这一句可能会报一个找不到hdf5.h的错误
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include先不做更改。
如果是需要生成matlab的caffe wrapper 请取消注释MATLAB_DIR然后替换为自己的目录
说一下提前会出现的问题:
第一,make过程中出现比如 string.h ‘memcy’ was not declared in this scope的错误是由于gcc编译器版本太新,解决方法是打开makefile搜索并替换
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
保存退出
第二,在make过程中还会报一个ld找不到libhdf5 和libhdf5_hl的链接问题,这个原因可能也是因为hdf5的问题,首先看/usr/lib/x86_64-linux-gnu 目录下有没有libhdf5.so和libhdf5_hl.so,如果有的话,查看属性是否有正确的链接(正常情况下应该是没有这两个文件),然后右键在终端中打开
sudo ln libhdf5_serial.so.10.1.0 libhdf5.so
sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so
注意,10.1.0和10.0.2可能不同电脑安装版本不同,注意看当前目录下存在的文件然后
sudo ldconfig 生效
接下来就是直接编译的过程
cd /home/user/caffe
make all -j4
make test -j4
make runtest
make pycaffe
make matcaffe
如果编译没报错正常的话,基本就没问题了。测试python打开
cd /home/user/caffe/python
python
import caffe
如果不报错就说明编译成功
测试matlab打开./caffe/matlab/+caffe/private,看有没有生成一个caffe的mex文件,可以运行+test文件夹里面的程序测试。
小问题:
在使用python接口的时候,可能会报一个什么错误(我给忘记了–!),对了是’Mean shape incompatible with input shape.’的错误,处理方法是python/caffe文件夹,编辑io.py文件,将
if ms != self.inputs[in_][1:]:
raise ValueError('Mean shape incompatible with input shape.')
替换为
if ms != self.inputs[in_][1:]:
print(self.inputs[in_])
in_shape = self.inputs[in_][1:]
m_min, m_max = mean.min(), mean.max()
normal_mean = (mean - m_min) / (m_max - m_min)
mean = resize_image(normal_mean.transpose((1,2,0)),in_shape[1:]).transpose((2,0,1)) * (m_max - m_min) + m_min
然后make clean再重新make

7.总结
至此,Ubuntu16.04下编译Caffe的教程就结束了,作者历时三天,装了好几遍系统,刚开始用Ubuntu14.04,结果系统出现问题,强迫症实在受不了,就尝试着装16.04继续折腾,最终折腾成功。以后可能会更新python3下的编译教程,需要自己编译boost版本,总之也很麻烦。

Ⅱ matlab2009和matlab2012的区别

Copyright © 1999-2020, CSDN.NET, All Rights Reserved

matlab
打开APP

liang890319
关注
Matlab各版本对比 原创
2021-11-14 09:43:52
11点赞

liang890319

码龄13年

关注
官方文档主页
文档主页 - MathWorks 中国

各版本对比

MathWorks - Archived MathWorks Documentation - MathWorks 中国

​​​​​​发行说明: MATLAB- MATLAB & Simulink- MathWorks 中国
基本原则还是使用最新版的,如果硬件资源有限可参考主要变化选择合适的版本 建议2020b以及以后版本

几个关键版本变化

1,支持实时脚本和实时函数.mlx文件
MATLAB® 实时脚本和实时函数是交互式文档,它们在一个称为实时编辑器的环境中将 MATLAB 代码与格式化文本、方程和图像组合到一起。此外,实时脚本可存储输出,并将其显示在创建它的代码旁。

什么是实时脚本或实时函数?- MATLAB & Simulink- MathWorks 中国

MATLAB R2016a - MATLAB 支持 R2016a 及更高版本中的实时脚本,以及 R2018a 及更高版本中的实时函数。

操作系统 - 从 R2019b 开始,在 MATLAB 支持的所有操作系统中,MATLAB 都支持实时编辑器。有关详细信息,请参阅系统要求。

对于 MATLAB 版本 R2016a 至 R2019a,MATLAB 支持的操作系统中有几个不支持实时编辑器。

不支持的操作系统包括:

Red Hat Enterprise Linux 6。

Red Hat Enterprise Linux 7。

SUSE Linux Enterprise Desktop 版本 13.0 及更早版本。

Debian 7.6 及更早版本。

此外,一些操作系统需要额外的配置才能在 MATLAB 版本 R2016a 到 R2019a 中运行实时编辑器。如果您无法在系统中运行实时编辑器,请联系技术支持以了解有关如何配置系统的信息。

2,串口通信新的api
2019b新的串口通信api
串行端口接口有一组新的函数和属性。现有功能仍可运行,但推荐使用新的函数名称和属性。新接口提高了性能。

通过使用 serialportlist 查看计算机上所有串行端口的列表,来开始使用新接口。list = serialportlist
list =

1×4 string array

"COM1" "COM3" "COM4" "COM8"
然后,创建一个 serialport 对象,将数据写入设备,并从中读取数据。

s = serialport("COM8",115200);
write(s,1:5,"uint32")
read(s,5,"uint32");
3,tcpip通信新的api
R2020b 优化了tcpip和串口通信
TCP/IP 客户端接口有一组新的函数和属性。

您仍可以使用现有函数执行以下操作:

使用 tcpclient 函数创建一个与 TCP/IP 服务器的 TCP/IP 客户端连接。

使用 read 函数从远程主机读取数据。

使用 write 函数将数据写入远程主机。

现在,您可以使用新函数执行以下操作:

使用 echotcpip 函数启动 TCP/IP 回显服务器。

使用 readline 函数从远程主机读取一行 ASCII 字符串数据。

使用 writeline 函数向远程主机写入一行 ASCII 字符串数据。

使用 configureTerminator 函数为与远程主机的 ASCII 字符串通信设置终止符。

使用 configureCallback 函数为与远程主机的通信设置回调函数和触发条件。

使用 flush 函数刷新缓冲区,以便与远程主机通信。

通过创建一个连接到 TCP/IP 回显服务器的 tcpclient 对象、向其写入数据和从中读取数据,开始使用 TCP/IP 客户端接口。

echotcpip("on",3030)
t = tcpclient("localhost",3030)
write(t,1:5,"uint8")
read(t,5);
有关详细信息,请参阅 TCP/IP 通信。

串行端口接口:改进了性能

serialport 接口的性能优于 serial 接口。例如,在使用 9600 的默认波特率时,以下代码中使用 serialport 对象写入和读取数据的速度大约是使用 serial 对象写入和读取数据速度的 1.1 倍。

% s is a serial object
function timingTest(s,bytecount)
fwrite(s,1:bytecount,"uint8");
fread(s,bytecount,"uint8");
end
% s is a serialport object
function timingTest(s,bytecount)
write(s,1:bytecount,"uint8");
read(s,bytecount,"uint8");
end
不同波特率条件下大致执行时间如下:

s.BaudRate
9600 19200 56000 115200
serial 120 毫秒 68 毫秒 31 毫秒 23 毫秒
serialport 109 毫秒 55 毫秒 21 毫秒 11 毫秒
代码是在运行 Windows 10 的 Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60 GHz 测试系统上使用 timeit 函数进行计时的:

bytecount = 100;
timeit(@()timingTest(s,bytecount))
测试是使用串行环回连接器完成的。

有关详细信息,请参阅串行端口设备。

4,对python的支持
2021b 支持python3.9

2021a 支持3.8 停止支持3.6

2020b停止支持3.5

2019a MATLAB 现在除支持 CPython 2.7、3.5 和 3.6 之外,还支持 CPython 3.7。

2018b Python 接口:在 MATLAB 和 Python 之间传递多维数值或逻辑数组

2018a Python 版本 3.4:已停止支持

支持的 Python 版本 - 3.5 或 3.6 版。

5,git的支持
2020a 工程 API:以编程方式获取最新 Git 修订版

2019b 比较 Git 分支:显示差异并保存副本

2019a 源代码管理集成:将 MATLAB Git 状态与外部 Git 客户端同步

2021b新功能
1,实时编辑器任务
帮助使用者自动生成代码并用用户界面进行参数调整

实时编辑器任务是可以添加到实时脚本中以执行一组特定操作的 App。您可以将任务添加到实时脚本中,以探查参数并自动生成代码。使用任务可缩短开发时间、减少错误并缩短在绘图上花费的时间。

任务代表一系列 MATLAB® 命令。您可以采用内嵌方式或在右侧显示其输出。

文档

将交互式任务添加到实时脚本中- MATLAB & Simulink- MathWorks 中国

视频

What Are Live Editor Tasks? Video - MATLAB

2,项目和版本管理
MATLAB and Simulink Projects Video - MATLAB

3,验证函数输入
在 MATLAB ® 中使用函数参数验证来声明对函数输入参数的特定限制。您可以约束函数输入值的类、大小和其他方面,而无需在函数体中编写代码来执行这些测试。

Validating Function Inputs Video - MATLAB

新产品
RF PCB Toolbox - 对印刷电路板进行电磁分析
Signal Integrity Toolbox - 对高速串行和并行链路进行仿真和分析
重要更新
Lidar Toolbox - 使用激光雷达查看器,以交互方式可视化、分析和预处理激光雷达点云
Simulink Code Inspector - 使用 Code Inspector 上下文选项卡,检查兼容性、检查代码并直接在模型中查看结果
Simulink Control Design - 设计模型参考自适应控制器
Symbolic Math Toolbox - 在 MATLAB 实时编辑器中提供下一步操作建议,引导用户完成符号工作流
Wavelet Toolbox - 使用小波分析处理和提取信号和图像的特征,以用于 AI 工作流
R2021b - MATLAB 和 Simulink 产品系列发布更新 - MATLAB & Simulink
Release Notes- MATLAB & Simulink- MathWorks 中国
其他

编辑器代码:自动显示代码建议和完成

编辑器重构:自动将选定的代码转换为函数

实时编辑器控件:设置滑块、下拉列表、复选框和编辑字段的默认值

实时编辑器动画:将动画导出为电影或动画 GIF

实时编辑器:提高保存实时脚本或函数时的性能

比较工具:比较和合并具有改进的可用性、外观和语法突出显示的文本文件

sftp 功能:连接SFTP服务器

HDF5 接口:使用新功能支持 HDF5 1.10.7

从 MATLAB 直接调用 Python 功能

除了现有的对 2.7、3.7 和 3.8 的支持之外,MATLAB 现在还支持 CPython 3.9

2021a
实时编辑器动画播放控件:用于控制动画的交互式界面

实时编辑器控件:通过将变量关联到下拉项和滑块值,在实时脚本中创建动态控件

XML 文件:使用 readtable、readtimetable 和其他函数读取、写入和导入 XML 文件

低级文件 I/O 函数和远程数据:对远程存储的文件执行读写操作

save 和 load 函数与远程数据:将数据保存、加载和追加到远程存储的 v7.3 MAT 文件中

读取在线数据:使用 readtable、audioread 和其他读取函数通过 HTTP 和 HTTPS 读取文件

数据压缩函数:改进了 zip/unzip 和 tar/untar 的功能

jsonencode:为 JSON 文本添加缩进

创建绘图实时编辑器任务:以交互方式创建绘图并生成代码

C++ 接口支持下列额外的 C++ 语言功能。

Java 引擎应用程序中使用 MATLAB 值对象

支持的 Python 版本,即 3.7 或 3.8 版

增加了对 IMU 传感器的支持

现在,MATLAB Support Package for Raspberry Pi™ Hardware 可为下列 IMU 传感器提供代码生成和连接到 Raspberry Pi 函数的 IO 支持:

HTS221

LPS22HB

LSM303C

LSM6DSL

LSM9DS1

MPU-6050

MPU-9250

2020b

比较工具:在 MATLAB Online 中比较文本文件

readstruct 和 writestruct 函数:在 XML 文件中读取和写入结构化数据

readlines 函数:以字符串数组形式读取文本文件中的行

HDF5 文件和基于 Web 的数据:使用现有 HDF5 函数读取和写入远程存储的 HDF5 文件

HDF5 文件:读取和写入使用 Unicode 字符编码的文件名

音频文件和基于 Web 的数据:使用 audioread、audiowrite 和 audioinfo 读取和写入远程存储的音频文件

TCP/IP 客户端接口:新的函数和属性
TCP/IP 客户端接口有一组新的函数和属性。

您仍可以使用现有函数执行以下操作:

使用 tcpclient 函数创建一个与 TCP/IP 服务器的 TCP/IP 客户端连接。

使用 read 函数从远程主机读取数据。

使用 write 函数将数据写入远程主机。

现在,您可以使用新函数执行以下操作:

使用 echotcpip 函数启动 TCP/IP 回显服务器。

使用 readline 函数从远程主机读取一行 ASCII 字符串数据。

使用 writeline 函数向远程主机写入一行 ASCII 字符串数据。

使用 configureTerminator 函数为与远程主机的 ASCII 字符串通信设置终止符。

使用 configureCallback 函数为与远程主机的通信设置回调函数和触发条件。

使用 flush 函数刷新缓冲区,以便与远程主机通信。

串行端口接口:改进了性能
serialport 接口的性能优于 serial 接口。例如,在使用 9600 的默认波特率时,以下代码中使用 serialport 对象写入和读取数据的速度大约是使用 serial 对象写入和读取数据速度的 1.1 倍。

源代码管理:改进了设置 Git 源代码管理的工作流

现在,您可以将 nullptr 传递给 C++ 函数。

MATLAB 现在除支持 CPython 2.7、3.6 和 3.7 之外,还支持 CPython 3.8

Java 包将被删除

实时编辑器任务:以交互方式从 USB 网络摄像头捕获图像,并在实时脚本中生成 MATLAB 代码。

2020a
文件编码:默认情况下,将 MATLAB 代码文件 (.m) 和其他纯文本文件保存为 UTF-8 编码文件

switch 函数:更灵活地比较对象

file 和 movefile 函数:访问基于 Web 的存储服务,如 Amazon Web Services 和 Azure Blob 存储

数据存储:使用 writeall 将数据从数据存储写入文件

文本文件和电子表格文件:使用 'WriteMode' 参数追加、覆盖或替换数据

h5create 和 h5write:将字符串数据写入 HDF5 文件

jsonencode:在 MATLAB 类中自定义编码

导入工具不再支持导入 HDF5 文件。要以编程方式导入 HDF4 或 HDF-EOS

Ⅲ HDF文件怎样打开

可以下载HDF Explorer v1.4.0绿色版来打开。

可以打开hdf/h5/he5/hdf5/he4/nc/cdf格式文件,免注册不需要安搭游装绿色版的HDFExplorer。解压缩之后直接打开主程序HdfExp.exe即知陆销可悉扮使用。

能够加载并显示数据,数据访问速度快,支持读取所有的HDF数据,软件易于使用,能够浏览和生成矢量图和标量。

阅读全文

与hdf5压缩相关的资料

热点内容
python编程计算平均分 浏览:676
加密数字货币市值查询 浏览:690
时尚商圈app怎么样 浏览:582
stacklesspython教程 浏览:136
用命令行禁用135端口 浏览:210
linux防火墙编程 浏览:625
pdf阅读器删除 浏览:979
考研人如何缓解压力 浏览:822
买电暖壶哪个app便宜 浏览:505
洛克王国忘记服务器了怎么办 浏览:782
为什么cf登录服务器没反应 浏览:695
服务器如何获取文件列表 浏览:672
creo五轴编程光盘 浏览:14
苹果app网络验证在哪里 浏览:14
博科清空命令 浏览:384
简爱英文pdf 浏览:376
cnc编程有前途吗 浏览:586
联想app怎么联网 浏览:722
linuxftp命令登录 浏览:1000
android获取图片缩略图 浏览:646