Keras Modules
xtphysics
莱顿大学LUMC在读博士
展开
-
Keras自定义训练过程中实时评估模型的Metrics Class
在深度学习任务中经常需要自定义函数类来满足独特的模型评估,基于Keras的自定义Metrics Class的代码实现如下。原创 2022-09-02 22:39:08 · 693 阅读 · 1 评论 -
CAM (Classification Attention Maps) Generation with Multi-workers in Keras
Keras使用多个workers加速生成CAM简述Keras官方文档中有如何生成CAM热图的参考代码,但是如果对大量测试图像生成CAM则需要使计算过程更加高效。本博文在Keras官方文档代码基础上进行修改实现使用多个workers加速生成CAM。使用multi-workers加速的部分主要是读取原始图像和向原始图像上添加热图两部分。加速生成热图部分主要是调高batch size。下面以一个适用于2分支分割任务的代码来举例,读者可根据自己的需求自行修改。代码细节1. 主程序模块def grad_原创 2022-05-05 02:33:04 · 487 阅读 · 0 评论 -
Keras DataGenerator with Multi-workers 加速读取训练数据(从单一数据集文件夹中读取)
Keras DataGenerator with Multi-workers 加速读取训练数据(从单一数据集文件夹中读取)描述训练集比较大的时候需要使用multi-workers来加速数据集的读取,如果已经预先进行了数据集的平衡工作并将训练所需的数据集都存在了一个文件夹下,则可用此博文的代码实现数据读取加速。如果读者需要对多个不等长的数据集文件夹同时进行读取,则请参考博文Keras DataGenerator with Multi-workers 加速读取训练数据(同时从多个不等长数据文件夹中读取)代原创 2022-04-07 03:05:15 · 466 阅读 · 0 评论 -
基于Keras的Channel-Spatial Attention Layers的实现
基于Keras的Channel-Spatial Attention Layers的实现描述Attention被应用于医学图像分割领域以提高神经网络对空间特征及通道的关注度,从而提高分割任务的精确程度。本文根据参考文献实现一种Spatial Attention 和Channel Attention融合使用的注意力层。代码展示1.Spatial Attention Layerclass SpatialAttention(Layer): def __init__(self,outChan,fe原创 2022-04-06 23:46:22 · 3651 阅读 · 1 评论 -
Keras DataGenerator with Multi-workers 加速读取训练数据(同时从多个不等长数据文件夹中读取)
Keras DataGenerator with Multi-workers 加速读取训练数据描述:对于训练任务,有时数据量很大且不同类型的数据存放在不同的文件夹中而且每个文件夹内的数据长度不相同,如果想要快速的从多个文件夹中读取训练数据就需要使用多个worker进行同步读取操作。下面将详细展示能实现快多worker快速数据读取的python代码。代码展示以我自己目前四分类任务的数据读取来举例:1. DataGenerator Modulefrom concurrent.futures impo原创 2022-04-06 23:20:50 · 936 阅读 · 0 评论 -
Keras在训练过程中根据epoch的值更换loss function
不停止训练根据epoch值更换loss function以大于50epoch时将binary cross-entropy loss转换为focal loss为例。1. 代码实现Net Moduleclass Net(object): def __init__(self,epochs,img_rows,img_cols): # initialize your parameters self.epochs = epochs self.img_rows =原创 2022-01-21 22:18:31 · 2226 阅读 · 5 评论 -
TF2 build-in Keras在eager及非eager模式下callback训练过程中梯度的方式
Class Activation Map / Gradient Attention Map分类/分割任务中可能会需要对训练过程中某些层的计算梯度进行操作,对于Keras来说我们可以通过使用Callback()实现返回梯度的目的,具体的例子如下所示,分为非eager模式和eager模式两部分。1. 非eager模式tf.compat.v1.disable_eager_execution() # 这句一定要加上!def get_gradient_func(model): ## If usin原创 2021-12-14 21:50:49 · 2141 阅读 · 0 评论