Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于训练细节的一些问题 #3

Open
jianglexin opened this issue Mar 21, 2023 · 9 comments
Open

关于训练细节的一些问题 #3

jianglexin opened this issue Mar 21, 2023 · 9 comments

Comments

@jianglexin
Copy link

您好,非常荣幸能够拜读您的文章,我有一些问题不是很明白,希望您能够解答一下:
1、第一个Global Dose Network是否有损失函数(例如MAE损失)进行监督?
2、第二个Beam-wise Dose Network的U-NET网络中输入和输出分别是几通道的,具体包含了哪些部分?
3、Lm和总损失函数L的比例是多少?
非常感谢您!

@ukaukaaaa
Copy link
Owner

您好,非常荣幸能够拜读您的文章,我有一些问题不是很明白,希望您能够解答一下:
1、第一个Global Dose Network是否有损失函数(例如MAE损失)进行监督?
2、第二个Beam-wise Dose Network的U-NET网络中输入和输出分别是几通道的,具体包含了哪些部分?
3、Lm和总损失函数L的比例是多少?
非常感谢您!

您好,感谢关注。

  1. 第一个global network 是有mae loss做监督的。
  2. 第二个网络中输入通道由ct, ptv, oar, beam masks, coarse dose组成,输出就是dose map。
  3. 这个问题可以参考 Questions about hyper-parameters to balance the two DVH loss terms #1

@jianglexin
Copy link
Author

您好,非常荣幸能够拜读您的文章,我有一些问题不是很明白,希望您能够解答一下:
1、第一个Global Dose Network是否有损失函数(例如MAE损失)进行监督?
2、第二个Beam-wise Dose Network的U-NET网络中输入和输出分别是几通道的,具体包含了哪些部分?
3、Lm和总损失函数L的比例是多少?
非常感谢您!

您好,感谢关注。

  1. 第一个global network 是有mae loss做监督的。
  2. 第二个网络中输入通道由ct, ptv, oar, beam masks, coarse dose组成,输出就是dose map。
  3. 这个问题可以参考 Questions about hyper-parameters to balance the two DVH loss terms #1

您好,非常感谢您回答我的问题。关于第二个问题,我可能没有表达清楚,请允许我再请教一下。
您在network代码中提到Global Dose Network和Beam-wise Dose Network使用了相同的结构但是不同的输出通道,我想请教几个问题,希望您能够解答一下:

1、U-NET网络输出的是一个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm?还是输出的是九个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm?
2、损失函数Lm是否参与第一部分Global Dose Network的监督与优化

再次感谢您!

@ukaukaaaa
Copy link
Owner

您好,非常荣幸能够拜读您的文章,我有一些问题不是很明白,希望您能够解答一下:
1、第一个Global Dose Network是否有损失函数(例如MAE损失)进行监督?
2、第二个Beam-wise Dose Network的U-NET网络中输入和输出分别是几通道的,具体包含了哪些部分?
3、Lm和总损失函数L的比例是多少?
非常感谢您!

您好,感谢关注。

  1. 第一个global network 是有mae loss做监督的。
  2. 第二个网络中输入通道由ct, ptv, oar, beam masks, coarse dose组成,输出就是dose map。
  3. 这个问题可以参考 Questions about hyper-parameters to balance the two DVH loss terms #1

您好,非常感谢您回答我的问题。关于第二个问题,我可能没有表达清楚,请允许我再请教一下。 您在network代码中提到Global Dose Network和Beam-wise Dose Network使用了相同的结构但是不同的输出通道,我想请教几个问题,希望您能够解答一下:

1、U-NET网络输出的是一个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm?还是输出的是九个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm? 2、损失函数Lm是否参与第一部分Global Dose Network的监督与优化

再次感谢您!

  1. 第二个unet输出的时候实际上是九个通道叫predicted beam voters,这时候loss分两部分,第一部分是9个predicted beam voters和ground truth beam voters 做mae loss也就是Lm,第二部分是将九个通道通过multi-beam voting重建为一个dose map 然后和ground truth dose map做loss包括了mae(Lr loss)和dvh loss。这里要注意第二个unet输出的时候一定要乘上beam mask再和ground truth beam voters做loss,因为网络预测的可能不准,并且我们只想计算beam path上的voxel difference
  2. 有两种做法,一种是两个unet分开训练,训练第一个的时候就没有Lm了,就用mae和dvh loss。第二种是合起来训练,这时候第一个网络因为只输出一个dose map,所以Lm仍旧不参与训练

@jianglexin
Copy link
Author

您好,非常荣幸能够拜读您的文章,我有一些问题不是很明白,希望您能够解答一下:
1、第一个Global Dose Network是否有损失函数(例如MAE损失)进行监督?
2、第二个Beam-wise Dose Network的U-NET网络中输入和输出分别是几通道的,具体包含了哪些部分?
3、Lm和总损失函数L的比例是多少?
非常感谢您!

您好,感谢关注。

  1. 第一个global network 是有mae loss做监督的。
  2. 第二个网络中输入通道由ct, ptv, oar, beam masks, coarse dose组成,输出就是dose map。
  3. 这个问题可以参考 Questions about hyper-parameters to balance the two DVH loss terms #1

您好,非常感谢您回答我的问题。关于第二个问题,我可能没有表达清楚,请允许我再请教一下。 您在network代码中提到Global Dose Network和Beam-wise Dose Network使用了相同的结构但是不同的输出通道,我想请教几个问题,希望您能够解答一下:
1、U-NET网络输出的是一个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm?还是输出的是九个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm? 2、损失函数Lm是否参与第一部分Global Dose Network的监督与优化
再次感谢您!

  1. 第二个unet输出的时候实际上是九个通道叫predicted beam voters,这时候loss分两部分,第一部分是9个predicted beam voters和ground truth beam voters 做mae loss也就是Lm,第二部分是将九个通道通过multi-beam voting重建为一个dose map 然后和ground truth dose map做loss包括了mae(Lr loss)和dvh loss。这里要注意第二个unet输出的时候一定要乘上beam mask再和ground truth beam voters做loss,因为网络预测的可能不准,并且我们只想计算beam path上的voxel difference
  2. 有两种做法,一种是两个unet分开训练,训练第一个的时候就没有Lm了,就用mae和dvh loss。第二种是合起来训练,这时候第一个网络因为只输出一个dose map,所以Lm仍旧不参与训练

您好,非常抱歉再次打扰您,我有一些训练细节方面的问题想请教您:
1、您在训练的时候,采用的是两个U-NET分开训练的方法还是合起来训练的方法
2、在数据处理方面,您在文章中提到将PTV和OAR区域合并到一个mask,我想确认一下您是将PTV合并到一个mask、OAR区域合并到另一个mask(这样第一个模型输入包含CT、PTV、OAR三个通道),还是将PTV和OAR区域合并到同一个mask(这样第一个模型输入包含CT、PTV与OAR合并图两个通道)
3、您在训练模型的时候,一共训练了多少个epoch?每个epoch中训练多少个数据?
4、您在训练第一个U-NET的时候,使用的归一化方法(BN、IN、GN)是哪一个?是否使用了dropout3d层?
5、您在训练第二个U-NET的时候,使用的归一化方法(BN、IN、GN)是哪一个?是否使用了dropout3d层?
非常感谢您!

@ukaukaaaa
Copy link
Owner

您好,非常荣幸能够拜读您的文章,我有一些问题不是很明白,希望您能够解答一下:
1、第一个Global Dose Network是否有损失函数(例如MAE损失)进行监督?
2、第二个Beam-wise Dose Network的U-NET网络中输入和输出分别是几通道的,具体包含了哪些部分?
3、Lm和总损失函数L的比例是多少?
非常感谢您!

您好,感谢关注。

  1. 第一个global network 是有mae loss做监督的。
  2. 第二个网络中输入通道由ct, ptv, oar, beam masks, coarse dose组成,输出就是dose map。
  3. 这个问题可以参考 Questions about hyper-parameters to balance the two DVH loss terms #1

您好,非常感谢您回答我的问题。关于第二个问题,我可能没有表达清楚,请允许我再请教一下。 您在network代码中提到Global Dose Network和Beam-wise Dose Network使用了相同的结构但是不同的输出通道,我想请教几个问题,希望您能够解答一下:
1、U-NET网络输出的是一个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm?还是输出的是九个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm? 2、损失函数Lm是否参与第一部分Global Dose Network的监督与优化
再次感谢您!

  1. 第二个unet输出的时候实际上是九个通道叫predicted beam voters,这时候loss分两部分,第一部分是9个predicted beam voters和ground truth beam voters 做mae loss也就是Lm,第二部分是将九个通道通过multi-beam voting重建为一个dose map 然后和ground truth dose map做loss包括了mae(Lr loss)和dvh loss。这里要注意第二个unet输出的时候一定要乘上beam mask再和ground truth beam voters做loss,因为网络预测的可能不准,并且我们只想计算beam path上的voxel difference
  2. 有两种做法,一种是两个unet分开训练,训练第一个的时候就没有Lm了,就用mae和dvh loss。第二种是合起来训练,这时候第一个网络因为只输出一个dose map,所以Lm仍旧不参与训练

您好,非常抱歉再次打扰您,我有一些训练细节方面的问题想请教您: 1、您在训练的时候,采用的是两个U-NET分开训练的方法还是合起来训练的方法 2、在数据处理方面,您在文章中提到将PTV和OAR区域合并到一个mask,我想确认一下您是将PTV合并到一个mask、OAR区域合并到另一个mask(这样第一个模型输入包含CT、PTV、OAR三个通道),还是将PTV和OAR区域合并到同一个mask(这样第一个模型输入包含CT、PTV与OAR合并图两个通道) 3、您在训练模型的时候,一共训练了多少个epoch?每个epoch中训练多少个数据? 4、您在训练第一个U-NET的时候,使用的归一化方法(BN、IN、GN)是哪一个?是否使用了dropout3d层? 5、您在训练第二个U-NET的时候,使用的归一化方法(BN、IN、GN)是哪一个?是否使用了dropout3d层? 非常感谢您!

  1. 我是分开训练的
  2. 不是的,ptv和oar各自合并成一个mask,每个mask里面不同ptv或者不同oar用不同的value代表。
  3. epoch数是1000,使用的数据是官方数据集的训练集
  4. 我使用的都是instancenorm,因为gpu资源限制问题无法使用大batch size就使用了instancenorm

@jianglexin
Copy link
Author

您好,非常荣幸能够拜读您的文章,我有一些问题不是很明白,希望您能够解答一下:
1、第一个Global Dose Network是否有损失函数(例如MAE损失)进行监督?
2、第二个Beam-wise Dose Network的U-NET网络中输入和输出分别是几通道的,具体包含了哪些部分?
3、Lm和总损失函数L的比例是多少?
非常感谢您!

您好,感谢关注。

  1. 第一个global network 是有mae loss做监督的。
  2. 第二个网络中输入通道由ct, ptv, oar, beam masks, coarse dose组成,输出就是dose map。
  3. 这个问题可以参考 Questions about hyper-parameters to balance the two DVH loss terms #1

您好,非常感谢您回答我的问题。关于第二个问题,我可能没有表达清楚,请允许我再请教一下。 您在network代码中提到Global Dose Network和Beam-wise Dose Network使用了相同的结构但是不同的输出通道,我想请教几个问题,希望您能够解答一下:
1、U-NET网络输出的是一个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm?还是输出的是九个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm? 2、损失函数Lm是否参与第一部分Global Dose Network的监督与优化
再次感谢您!

  1. 第二个unet输出的时候实际上是九个通道叫predicted beam voters,这时候loss分两部分,第一部分是9个predicted beam voters和ground truth beam voters 做mae loss也就是Lm,第二部分是将九个通道通过multi-beam voting重建为一个dose map 然后和ground truth dose map做loss包括了mae(Lr loss)和dvh loss。这里要注意第二个unet输出的时候一定要乘上beam mask再和ground truth beam voters做loss,因为网络预测的可能不准,并且我们只想计算beam path上的voxel difference
  2. 有两种做法,一种是两个unet分开训练,训练第一个的时候就没有Lm了,就用mae和dvh loss。第二种是合起来训练,这时候第一个网络因为只输出一个dose map,所以Lm仍旧不参与训练

您好,非常抱歉再次打扰您,我有一些训练细节方面的问题想请教您: 1、您在训练的时候,采用的是两个U-NET分开训练的方法还是合起来训练的方法 2、在数据处理方面,您在文章中提到将PTV和OAR区域合并到一个mask,我想确认一下您是将PTV合并到一个mask、OAR区域合并到另一个mask(这样第一个模型输入包含CT、PTV、OAR三个通道),还是将PTV和OAR区域合并到同一个mask(这样第一个模型输入包含CT、PTV与OAR合并图两个通道) 3、您在训练模型的时候,一共训练了多少个epoch?每个epoch中训练多少个数据? 4、您在训练第一个U-NET的时候,使用的归一化方法(BN、IN、GN)是哪一个?是否使用了dropout3d层? 5、您在训练第二个U-NET的时候,使用的归一化方法(BN、IN、GN)是哪一个?是否使用了dropout3d层? 非常感谢您!

  1. 我是分开训练的
  2. 不是的,ptv和oar各自合并成一个mask,每个mask里面不同ptv或者不同oar用不同的value代表。
  3. epoch数是1000,使用的数据是官方数据集的训练集
  4. 我使用的都是instancenorm,因为gpu资源限制问题无法使用大batch size就使用了instancenorm

您好,我还想请教几个问题:
1、关于第二点,我想问一下关于不同OAR的value,官方数据集中一共包括'Brainstem','SpinalCord','RightParotid',
'LeftParotid', 'Esophagus,'Larynx','Mandible'七个OAR,请问这七个OAR各自的value具体都设为多少?
2、两个U-NET网络是不是均采用了dropout层?
谢谢您!

@ukaukaaaa
Copy link
Owner

您好,非常荣幸能够拜读您的文章,我有一些问题不是很明白,希望您能够解答一下:
1、第一个Global Dose Network是否有损失函数(例如MAE损失)进行监督?
2、第二个Beam-wise Dose Network的U-NET网络中输入和输出分别是几通道的,具体包含了哪些部分?
3、Lm和总损失函数L的比例是多少?
非常感谢您!

您好,感谢关注。

  1. 第一个global network 是有mae loss做监督的。
  2. 第二个网络中输入通道由ct, ptv, oar, beam masks, coarse dose组成,输出就是dose map。
  3. 这个问题可以参考 Questions about hyper-parameters to balance the two DVH loss terms #1

您好,非常感谢您回答我的问题。关于第二个问题,我可能没有表达清楚,请允许我再请教一下。 您在network代码中提到Global Dose Network和Beam-wise Dose Network使用了相同的结构但是不同的输出通道,我想请教几个问题,希望您能够解答一下:
1、U-NET网络输出的是一个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm?还是输出的是九个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm? 2、损失函数Lm是否参与第一部分Global Dose Network的监督与优化
再次感谢您!

  1. 第二个unet输出的时候实际上是九个通道叫predicted beam voters,这时候loss分两部分,第一部分是9个predicted beam voters和ground truth beam voters 做mae loss也就是Lm,第二部分是将九个通道通过multi-beam voting重建为一个dose map 然后和ground truth dose map做loss包括了mae(Lr loss)和dvh loss。这里要注意第二个unet输出的时候一定要乘上beam mask再和ground truth beam voters做loss,因为网络预测的可能不准,并且我们只想计算beam path上的voxel difference
  2. 有两种做法,一种是两个unet分开训练,训练第一个的时候就没有Lm了,就用mae和dvh loss。第二种是合起来训练,这时候第一个网络因为只输出一个dose map,所以Lm仍旧不参与训练

您好,非常抱歉再次打扰您,我有一些训练细节方面的问题想请教您: 1、您在训练的时候,采用的是两个U-NET分开训练的方法还是合起来训练的方法 2、在数据处理方面,您在文章中提到将PTV和OAR区域合并到一个mask,我想确认一下您是将PTV合并到一个mask、OAR区域合并到另一个mask(这样第一个模型输入包含CT、PTV、OAR三个通道),还是将PTV和OAR区域合并到同一个mask(这样第一个模型输入包含CT、PTV与OAR合并图两个通道) 3、您在训练模型的时候,一共训练了多少个epoch?每个epoch中训练多少个数据? 4、您在训练第一个U-NET的时候,使用的归一化方法(BN、IN、GN)是哪一个?是否使用了dropout3d层? 5、您在训练第二个U-NET的时候,使用的归一化方法(BN、IN、GN)是哪一个?是否使用了dropout3d层? 非常感谢您!

  1. 我是分开训练的
  2. 不是的,ptv和oar各自合并成一个mask,每个mask里面不同ptv或者不同oar用不同的value代表。
  3. epoch数是1000,使用的数据是官方数据集的训练集
  4. 我使用的都是instancenorm,因为gpu资源限制问题无法使用大batch size就使用了instancenorm

您好,我还想请教几个问题: 1、关于第二点,我想问一下关于不同OAR的value,官方数据集中一共包括'Brainstem','SpinalCord','RightParotid', 'LeftParotid', 'Esophagus,'Larynx','Mandible'七个OAR,请问这七个OAR各自的value具体都设为多少? 2、两个U-NET网络是不是均采用了dropout层? 谢谢您!

  1. 只要不同就行,我是直接0,1,2,3....这样,注意要归一化
  2. 没用dropout

@jianglexin
Copy link
Author

您好,非常荣幸能够拜读您的文章,我有一些问题不是很明白,希望您能够解答一下:
1、第一个Global Dose Network是否有损失函数(例如MAE损失)进行监督?
2、第二个Beam-wise Dose Network的U-NET网络中输入和输出分别是几通道的,具体包含了哪些部分?
3、Lm和总损失函数L的比例是多少?
非常感谢您!

您好,感谢关注。

  1. 第一个global network 是有mae loss做监督的。
  2. 第二个网络中输入通道由ct, ptv, oar, beam masks, coarse dose组成,输出就是dose map。
  3. 这个问题可以参考 Questions about hyper-parameters to balance the two DVH loss terms #1

您好,非常感谢您回答我的问题。关于第二个问题,我可能没有表达清楚,请允许我再请教一下。 您在network代码中提到Global Dose Network和Beam-wise Dose Network使用了相同的结构但是不同的输出通道,我想请教几个问题,希望您能够解答一下:
1、U-NET网络输出的是一个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm?还是输出的是九个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm? 2、损失函数Lm是否参与第一部分Global Dose Network的监督与优化
再次感谢您!

  1. 第二个unet输出的时候实际上是九个通道叫predicted beam voters,这时候loss分两部分,第一部分是9个predicted beam voters和ground truth beam voters 做mae loss也就是Lm,第二部分是将九个通道通过multi-beam voting重建为一个dose map 然后和ground truth dose map做loss包括了mae(Lr loss)和dvh loss。这里要注意第二个unet输出的时候一定要乘上beam mask再和ground truth beam voters做loss,因为网络预测的可能不准,并且我们只想计算beam path上的voxel difference
  2. 有两种做法,一种是两个unet分开训练,训练第一个的时候就没有Lm了,就用mae和dvh loss。第二种是合起来训练,这时候第一个网络因为只输出一个dose map,所以Lm仍旧不参与训练

您好,非常抱歉再次打扰您,我有一些训练细节方面的问题想请教您: 1、您在训练的时候,采用的是两个U-NET分开训练的方法还是合起来训练的方法 2、在数据处理方面,您在文章中提到将PTV和OAR区域合并到一个mask,我想确认一下您是将PTV合并到一个mask、OAR区域合并到另一个mask(这样第一个模型输入包含CT、PTV、OAR三个通道),还是将PTV和OAR区域合并到同一个mask(这样第一个模型输入包含CT、PTV与OAR合并图两个通道) 3、您在训练模型的时候,一共训练了多少个epoch?每个epoch中训练多少个数据? 4、您在训练第一个U-NET的时候,使用的归一化方法(BN、IN、GN)是哪一个?是否使用了dropout3d层? 5、您在训练第二个U-NET的时候,使用的归一化方法(BN、IN、GN)是哪一个?是否使用了dropout3d层? 非常感谢您!

  1. 我是分开训练的
  2. 不是的,ptv和oar各自合并成一个mask,每个mask里面不同ptv或者不同oar用不同的value代表。
  3. epoch数是1000,使用的数据是官方数据集的训练集
  4. 我使用的都是instancenorm,因为gpu资源限制问题无法使用大batch size就使用了instancenorm

您好,我还想请教几个问题: 1、关于第二点,我想问一下关于不同OAR的value,官方数据集中一共包括'Brainstem','SpinalCord','RightParotid', 'LeftParotid', 'Esophagus,'Larynx','Mandible'七个OAR,请问这七个OAR各自的value具体都设为多少? 2、两个U-NET网络是不是均采用了dropout层? 谢谢您!

  1. 只要不同就行,我是直接0,1,2,3....这样,注意要归一化
  2. 没用dropout

您好,我目前正在复现您的这篇文章,因此我还想请教一些细节:
1、您第一部分网络训练完毕后训练的验证集的精度(dose score)大概能达到多少?
2、您对标签(dose)的预处理是什么?(我看C3D中对标签dose进行了除以70的预处理的操作,我想确认一下您是否也是这么做的)
3、文中提到beam masks图片是通过PTV生成的,这里的PTV指的是PTV70一张图片还是由PTV70、PTV63、PTV56合成的一张图片?
4、您在分开训练第二部分网络的时候,是否对数据使用了数据增强(随机翻转、随机旋转)?
5、您在分开训练第二部分网络的时候,第二部分网络由哪几部分损失函数(Lm和总损失函数L)参与优化?
谢谢您!

@ukaukaaaa
Copy link
Owner

您好,非常荣幸能够拜读您的文章,我有一些问题不是很明白,希望您能够解答一下:
1、第一个Global Dose Network是否有损失函数(例如MAE损失)进行监督?
2、第二个Beam-wise Dose Network的U-NET网络中输入和输出分别是几通道的,具体包含了哪些部分?
3、Lm和总损失函数L的比例是多少?
非常感谢您!

您好,感谢关注。

  1. 第一个global network 是有mae loss做监督的。
  2. 第二个网络中输入通道由ct, ptv, oar, beam masks, coarse dose组成,输出就是dose map。
  3. 这个问题可以参考 Questions about hyper-parameters to balance the two DVH loss terms #1

您好,非常感谢您回答我的问题。关于第二个问题,我可能没有表达清楚,请允许我再请教一下。 您在network代码中提到Global Dose Network和Beam-wise Dose Network使用了相同的结构但是不同的输出通道,我想请教几个问题,希望您能够解答一下:
1、U-NET网络输出的是一个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm?还是输出的是九个通道的dose map,然后和9个beam mask组成的beam masks相乘得到Predicted Beam Voters,进而和Ground-Truth Beam Voters来构建损失函数Lm? 2、损失函数Lm是否参与第一部分Global Dose Network的监督与优化
再次感谢您!

  1. 第二个unet输出的时候实际上是九个通道叫predicted beam voters,这时候loss分两部分,第一部分是9个predicted beam voters和ground truth beam voters 做mae loss也就是Lm,第二部分是将九个通道通过multi-beam voting重建为一个dose map 然后和ground truth dose map做loss包括了mae(Lr loss)和dvh loss。这里要注意第二个unet输出的时候一定要乘上beam mask再和ground truth beam voters做loss,因为网络预测的可能不准,并且我们只想计算beam path上的voxel difference
  2. 有两种做法,一种是两个unet分开训练,训练第一个的时候就没有Lm了,就用mae和dvh loss。第二种是合起来训练,这时候第一个网络因为只输出一个dose map,所以Lm仍旧不参与训练

您好,非常抱歉再次打扰您,我有一些训练细节方面的问题想请教您: 1、您在训练的时候,采用的是两个U-NET分开训练的方法还是合起来训练的方法 2、在数据处理方面,您在文章中提到将PTV和OAR区域合并到一个mask,我想确认一下您是将PTV合并到一个mask、OAR区域合并到另一个mask(这样第一个模型输入包含CT、PTV、OAR三个通道),还是将PTV和OAR区域合并到同一个mask(这样第一个模型输入包含CT、PTV与OAR合并图两个通道) 3、您在训练模型的时候,一共训练了多少个epoch?每个epoch中训练多少个数据? 4、您在训练第一个U-NET的时候,使用的归一化方法(BN、IN、GN)是哪一个?是否使用了dropout3d层? 5、您在训练第二个U-NET的时候,使用的归一化方法(BN、IN、GN)是哪一个?是否使用了dropout3d层? 非常感谢您!

  1. 我是分开训练的
  2. 不是的,ptv和oar各自合并成一个mask,每个mask里面不同ptv或者不同oar用不同的value代表。
  3. epoch数是1000,使用的数据是官方数据集的训练集
  4. 我使用的都是instancenorm,因为gpu资源限制问题无法使用大batch size就使用了instancenorm

您好,我还想请教几个问题: 1、关于第二点,我想问一下关于不同OAR的value,官方数据集中一共包括'Brainstem','SpinalCord','RightParotid', 'LeftParotid', 'Esophagus,'Larynx','Mandible'七个OAR,请问这七个OAR各自的value具体都设为多少? 2、两个U-NET网络是不是均采用了dropout层? 谢谢您!

  1. 只要不同就行,我是直接0,1,2,3....这样,注意要归一化
  2. 没用dropout

您好,我目前正在复现您的这篇文章,因此我还想请教一些细节: 1、您第一部分网络训练完毕后训练的验证集的精度(dose score)大概能达到多少? 2、您对标签(dose)的预处理是什么?(我看C3D中对标签dose进行了除以70的预处理的操作,我想确认一下您是否也是这么做的) 3、文中提到beam masks图片是通过PTV生成的,这里的PTV指的是PTV70一张图片还是由PTV70、PTV63、PTV56合成的一张图片? 4、您在分开训练第二部分网络的时候,是否对数据使用了数据增强(随机翻转、随机旋转)? 5、您在分开训练第二部分网络的时候,第二部分网络由哪几部分损失函数(Lm和总损失函数L)参与优化? 谢谢您!

  1. 大概比c3d差不到0.1左右
  2. 我采用的是除以80,实际实验应该差别是不大的
  3. 是合成的PTV
  4. 第二阶段的数据增强和第一阶段是一致的
  5. 损失函数就是Lm加L,文章当初这个地方没写清楚抱歉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants