我目前正在使用一个改进版的U-Net(https://arxiv.org/pdf/1505.04597.pdf)来分割显微镜图像中的细胞器。因为我使用Keras,所以我从https://github.com/zhixuhao/unet获取代码。然而,在这个版本中没有实现权重映射来强制网络学习边界像素。在
到目前为止,我得到的结果是相当好的,但网络无法分离彼此靠近的对象。所以我想试着利用文中提到的权重图。我已经能够为每个标签图像生成权重图(基于给定的公式),但是我无法找到如何使用该权重图来训练我的网络,从而解决上述问题。在
权重图和标签图像必须以某种方式组合起来,还是有一个Keras函数可以让我使用权重图?我是生物学家,最近才开始研究神经网络,所以我的理解还是有限的。任何帮助或建议将不胜感激。在
我想你应该在Keras中使用
class_weight
。如果已经计算了类权重,那么在模型中引入这一点非常简单。在创建一个包含类标签及其关联权重的词典。例如
或者创建一个1D Numpy数组,其长度与类的数量相同。例如
在您的
model.fit
或model.fit_generator
中的培训期间传递此参数您可以查阅Keras文档以了解更多细节here。在
以防它仍然相关:我最近需要解决这个问题。您可以将下面的代码粘贴到Jupyter笔记本中,以查看它是如何工作的。在
相关问题 更多 >
编程相关推荐