TristaZeng / ZS-DeconvNet

54 stars 4 forks source link

DataAugmFor2D.m脚本报错 #9

Open myyyy1987 opened 5 months ago

myyyy1987 commented 5 months ago

您好,在运行DataAugmFor2D.m脚本时,我将自己要处理的图像路径传递给data_folder参数,但是在运行脚本时,出现了错误,请问是data_folder参数给错了的原因吗? =image

TristaZeng commented 5 months ago

我们测试时没有出现这个问题,看起来应该是传给XxDataSeg_ForTrain的第三个参数data_comp的尺寸和第一个参数data的尺寸不一致引起的,但这在代码中是不可能的。请您输出它们的尺寸,或Y和mask的尺寸看一下?

myyyy1987 commented 5 months ago

谢谢您的解答! 我输出了data_comp和data参数的尺寸,它们是一样的,但是Y和mask的尺寸不一样,是因为这个才导致出错吗? 微信截图_20240625141610 微信截图_20240625141816

TristaZeng commented 5 months ago

是的,DataAugmFor2D只能用来处理2D图像,您的图像看起来有3个通道,应该分通道处理。

myyyy1987 commented 5 months ago

我给的图像是倒置荧光显微镜下拍摄的膜表达绿色荧光蛋白的细胞图片,请问我是应该将绿色通道拆分出来作为输入文件吗,还是改用DataAugmFor3D脚本进行处理?

TristaZeng commented 5 months ago

应该将绿色通道拆分出来作为输入文件,因为其他通道不包含想处理的结构内容。

myyyy1987 commented 5 months ago

明白了,非常感谢您的解答!我把绿色通道拆分出来后,脚本没有发生任何报错!

myyyy1987 commented 5 months ago

您好,我在推理模型的时候又遇到了报错。输入的命令是:python3 Infer_2D.py --input_dir '/root/autodl-tmp/ZS/ZS-DeconvNet/Raw_Data/test_data/08_T0005_green.tif' --load_weights_path '/root/autodl-tmp/ZS/ZS-DeconvNet/Python_MATLAB_Codes/your_saved_models/beta1_0.5-1.5_beta2_NaN-NaN_alpha0.5-1.5_SegNum20000_twostage_Unet_Hess0.02/weights_50000.h5' --num_seg_window_x 1,input_dir参数给的是我已经处理为绿色单通道的原始数据,这个错误是因为我的输入数据给的有问题吗,还是默认的参数需要调整? 微信截图_20240629163838

TristaZeng commented 5 months ago

请尝试输出一下num_tif和path,即在第57行插入print(num_tif)和print(path)

myyyy1987 commented 5 months ago

我的num_tif输出是1,path输出是['/root/autodl-tmp/ZS/ZS-DeconvNet/Raw_Data/test_data/08_T0005_green.tif'] 微信截图_20240701110734

TristaZeng commented 5 months ago

应该是num_seg_window_x[tif_ind]的类型出了问题,可以print(num_seg_window_x[tif_ind])看看

myyyy1987 commented 5 months ago

当我把num_seg_window_x设为脚本里的默认值[1]的时候,num_seg_window_x[tif_ind]不会报错,我设为1的时候发生报错,是不是num_seg_window_x参数储存的数据应该为一个list? 微信截图_20240701164150

TristaZeng commented 5 months ago

是的,但在shell语句中输入--num_seg_window_x 1在我们的测试情况下应该是没有问题的,如果设置为[1]解决了您的问题那么就这样做是可以的。

myyyy1987 commented 5 months ago

我也尝试了--num_seg_window_x 1设为[1],但是很不幸,代码依然发生了同样的报错。

myyyy1987 commented 5 months ago

![Uploading 微信截图_20240701211338.png…]()

TristaZeng commented 5 months ago

您的截图没有上传成功,请重试一下?输出报错前的num_seg_window_x看看

myyyy1987 commented 5 months ago

非常抱歉,我这边网络有问题导致图片没上传成功。 我在源代码的第58行后加上了输出num_seg_window_x参数的命令,然后终端运行命令:python3 Infer_2D.py --input_dir '/root/autodl-tmp/ZS/ZS-DeconvNet/Raw_Data/test_data/08_T0005_green.tif' --load_weights_path '/root/autodl-tmp/ZS/ZS-DeconvNet/Python_MATLAB_Codes/your_saved_models/beta1_0.5-1.5_beta2_NaN-NaN_alpha0.5-1.5_SegNum20000_twostage_Unet_Hess0.02/weights_50000.h5' --num_seg_window_x [1] 微信截图_20240702113138 同样我也在终端运行了命令:python3 Infer_2D.py --input_dir '/root/autodl-tmp/ZS/ZS-DeconvNet/Raw_Data/test_data/08_T0005_green.tif' --load_weights_path '/root/autodl-tmp/ZS/ZS-DeconvNet/Python_MATLAB_Codes/your_saved_models/beta1_0.5-1.5_beta2_NaN-NaN_alpha0.5-1.5_SegNum20000_twostage_Unet_Hess0.02/weights_50000.h5' --num_seg_window_x 1 微信截图_20240702113216

TristaZeng commented 5 months ago

应该是直接在终端输入时,所有argument会被接收为string。可以尝试在.sh文件内修改,然后运行bash xx.sh

myyyy1987 commented 5 months ago

感谢您提供的建议!我尝试了在bash文件里修改,但是依然报相同的错。 微信截图_20240702192524 微信截图_20240702192324

TristaZeng commented 5 months ago

试试--num_seg_window_x 1

myyyy1987 commented 4 months ago

尝试了--num_seg_window_x 1,报的错跟在终端直接输入命令时是一样的。

TristaZeng commented 4 months ago

但是在终端里和在sh文件中使用--num_seg_window_x [1]的效果不同,一个是num_seg_window_x=[('[','1',']')], 一个是[('1')。--num_seg_window_x 1时num_seg_window_x是什么呢?

myyyy1987 commented 4 months ago

很抱歉!前面运行bash文件时截的报错上传错误。实际上,--num_seg_window_x [1]和-num_seg_window_x 1它们在终端和在bash文件中运行的效果是一样的。

TristaZeng commented 4 months ago

您好,我们对Infer_2D.py作了修改,应该解决了该问题。