Open TipsF opened 5 months ago
请教大佬!我把LEVIR-CD的PNG转为MAT,再转为pickle格式后,代码中参数改为:class_num=1,test_class_num=1,A = np.zeros([nDataSet, 2])时能正常运行且生成图片,但是类别只有0这一种,想请教一下这是为什么?能否提供一下论文中PNG转MAT的代码,想生成一个正确的MAT文件,万分感谢!
建议debug检查label。后续会上传mat格式的vhr数据集。
---原始邮件--- 发件人: @.> 发送时间: 2024年6月2日(周日) 晚上6:27 收件人: @.>; 抄送: @.***>; 主题: Re: [lsylnnu/BiG-FSLF] MSI157_matpickle.py生成新源域数据后遇到的问题,想请教大佬 (Issue #3)
请教大佬!我把LEVIR-CD的PNG转为MAT,再转为pickle格式后,代码中参数改为:class_num=1,test_class_num=1,A = np.zeros([nDataSet, 2])时能正常运行且生成图片,但是类别只有0这一种,想请教一下这是为什么?能否提供一下论文中PNG转MAT的代码,想生成一个正确的MAT文件,万分感谢!
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>
不好意思又打扰了,debug之后label都是0,想请教一下大佬转化的代码有什么问题,能否提供一个正确的转化代码或者MAT数据,万分感谢! PNG转MAT的代码如下: import os import numpy as np from PIL import Image import scipy.io as io
save_dir = 'datasets/' print('Start...')
img_data = Image.open('datasets/LEVIR_1_1.png') img_label = Image.open('datasets/label_1.png') res0 = np.array(img_data, dtype='int16') res1 = np.array(img_label, dtype='uint8') print('Saving data...')
if not os.path.exists(save_dir): os.mkdir(save_dir) np.save(save_dir + 'LEVIR_1_1.npy', res0) np.save(save_dir + 'label_1.npy', res1)
numpy_file0 = np.load('datasets/LEVIR_1_1.npy') numpy_file1 = np.load('datasets/label_1.npy')
io.savemat('datasets/LEVIR_1_1.mat', {'data': numpy_file0}) io.savemat('datasets/label_1.mat', {'data': numpy_file1}) print('Done.')
链接:https://pan.baidu.com/s/1iCC81vBIR9CoIFKr7HrVqw 提取码:5tow
mat版本数据见链接
------------------ 原始邮件 ------------------ 发件人: "lsylnnu/BiG-FSLF" @.>; 发送时间: 2024年6月3日(星期一) 下午3:38 @.>; @.**@.>; 主题: Re: [lsylnnu/BiG-FSLF] MSI157_matpickle.py生成新源域数据后遇到的问题,想请教大佬 (Issue #3)
不好意思又打扰了,debug之后label都是0,想请教一下大佬转化的代码有什么问题,能否提供一个正确的转化代码或者MAT数据,万分感谢! PNG转MAT的代码如下: import os import numpy as np from PIL import Image import scipy.io as io
save_dir = 'datasets/' print('Start...')
img_data = Image.open('datasets/LEVIR_1_1.png') img_label = Image.open('datasets/label_1.png') res0 = np.array(img_data, dtype='int16') res1 = np.array(img_label, dtype='uint8') print('Saving data...')
if not os.path.exists(save_dir): os.mkdir(save_dir) np.save(save_dir + 'LEVIR_1_1.npy', res0) np.save(save_dir + 'label_1.npy', res1)
numpy_file0 = np.load('datasets/LEVIR_1_1.npy') numpy_file1 = np.load('datasets/label_1.npy')
io.savemat('datasets/LEVIR_1_1.mat', {'data': numpy_file0}) io.savemat('datasets/label_1.mat', {'data': numpy_file1}) print('Done.')
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>
谢谢大佬,问题都解决了!还有一个小问题想请教:这篇论文的思路是在普通遥感图像上做训练,然后迁移到高光谱上来吗?
Training... Testing ... 4.346039295196533 -2.104224681854248 kappa: 0.6361500223273364 Accuracy: 60069/73471 (81.76%)
save networks for episode: 1 Traceback (most recent call last): File "C:\Users\f1535\Desktop\BiG-FSLF-main\main_BAY.py", line 759, in
A[iDataSet, :] = np.diag(C) / np.sum(C, 1, dtype=np.float64)
ValueError: could not broadcast input array from shape (2,) into shape (1,)
我想请教一下大佬这是为什么,刚接触小样本还不是特别理解。