最近只能记得七秒内的东西,七秒外的东西要在此记录一下!

大文件存储mat

当要存储的mat文件过大时:

1
save(path , ‘X_all’ ,’-v7.3’ )
python大文件mat读取

对于-v7.3存储的mat文件一般这么读

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import h5py
dict_data = h5py.File(X_all.mat) #dict_data文件里可能有多个cell,各对应着一个dataset

print(dict_data.keys()) # 可以用keys的方法查看cell的名字
# 输出:<KeysViewHDF5 ['X_all']>

print(dict_data.values()) #可以用values方法查看各个cell的信息
# 输出:ValuesViewHDF5(<HDF5 file "X_all.mat" (mode r+)>)

data = dict_data['X_all'] #选取一个cell
print(data.shape)#查看维度,是matlab写入数据的转置
# 输出:(522, 3145776)

## 需要转置回来
data_t = np.transpose(data) #data_t是numpy.ndarray
# 再将其存为npy格式文件
np.save('X_all.npy', data_t)
# 要用再这么读
matrix = np.load(X_all.npy')

-v7.3存储的mat文件这么读就行,这里直接存成了tensor了。

1
2
3
4
5
6
7
8
h=r'D:\a\薛事成同步文件\我的坚果云\波场反演+NN\2D_file\energy_file\FT_Signal_0.mat'

mat_dict = scio.loadmat(path)

data_name_1 = 'FT_Signal_A_real'

FT_Signal_A_real = torch.tensor(mat_dict[data_name_1])

GPU内存
1
2
import torch 
torch.cuda.empty_cache()
大文件txt的matlab读取
1
2
3
4
5
6
7
file=fullfile('F:\Xue\result_pic\Untitle_119_3\log.txt');      % 导入.txt文件

f=fopen(file); %以只读模式打开混合格式文本文件

dt=textscan(f,repmat('%f',1,9)); %采用textscan 读取数据

fclose(f)
MATLAB滑动平均法
1
movmean(dt{3},1000)
MATLAB设置图例的位置
1
2
3
4
5
h = legend('真实缺陷','生成缺陷形状');
pos = get(h,'Position');
pos(1) = pos(1)+0.053;
pos(2) = pos(2)+0.1;
set(h,'Position',pos)
MATLAB保存图片
1
saveas(gcf,[path,'.png'])
MATLAB设置图中小网格
1
2
3
4
5
set(gca,'XMinorGrid','on')
set(gca,'YMinorGrid','on')
set(gca,'Gridalpha',0.2,'MinorGridalpha',0.1,'MinorGridLineStyle','-')
set(gcf,'unit','centimeters','position',[10,5,10,6.6])
xlabel('Training iteration', 'Fontname', 'Times New Roman');
MATLAB设置添加噪声的信号比
1
x_noise = awgn(x,snr,'measured')

首先计算输入x信号的功率,按照snr添加相应功率的高斯白噪声。

MATLAB绘制灰度图并保存

1
2
3
4
figure
imshow(A);
imwrite(A,[path,'_true.png'])
%%把A各元素归一化到0到1间

MATLAB设置傅里叶变换方向

1
2
Y = fft(X,n,dim)
% Y = fft(X,[],dim)

MATLAB去掉x或y轴刻度

1
2
3
set(gca,’xtick’,[]) %去掉x轴的刻度 
set(gca,’ytick’,[]) %去掉y轴的刻度
set(gca,’xtick’,[],’ytick’,[]) %同时去掉x轴和y轴的刻度