项目实训-智能生物序列分析平台-后端模块(2)

这篇博客介绍了智能生物序列分析平台后端中关于学习曲线和长度分布图的实现。重点讲解了学习曲线代码,展示如何记录每个epoch训练后模型的性能变化,以及如何通过曲线观察模型的稳定性。同时,还详细阐述了长度分布图的绘制过程,用于分析输入数据中不同序列长度的比例。文章展示了学习曲线图和长度分布图的最终效果,并强调了这些图表在评估模型性能和理解数据特性方面的重要性。
摘要由CSDN通过智能技术生成

曲线部分代码

这篇博客接着上次的plot部分代码写一点

learning curve曲线

接下来我们来详细讲一下learning rate部分的代码

这张图的主要目的是记录根据每个epoch训练完成之后,AccuaryLoss的变化过程,这样能更好的反映模型的训练和调整,更加清楚的看到梯度下降的一步步更新迭代

def epoch_plot(epoch_data, num_of_moudel, config):
    step_log_interval = epoch_data['step_log_interval']
    train_metric_record = epoch_data['train_metric_record']
    train_loss_record = epoch_data['train_loss_record']
    step_test_interval = epoch_data['step_test_interval']
    test_metric_record = epoch_data['test_metric_record']
    test_loss_record = epoch_data['test_loss_record']

首先从函数的接口中获取到我们绘图要用的epochdata,注意这部分数据是我们在训练的时候对每一步的train和test进行测试的时候保存了记录下来的代码。所以我们直接将每个参数分别赋值给对应的变量即可。

    plt.figure(22, figsize=(16, 12))
    # f, ((ax1, ax2), (ax3, ax4)) = plt.subplots(figsize=(16, 8), ncols=2, nrows=2)
    f, (ax1, ax2) = plt.subplots(figsize=(16, 8), ncols=2)
    plt.subplots_adjust(wspace=0.2, hspace=0.3)


    ax1.spines['right'].set_visible(False)
    ax1.spines['top'].set_visible(False)
    ax2.spines['right'].set_visible(False)
    ax2.spines['top'].set_visible(False)
    # ax3.spines['right'].set_visible(False)
    # ax3.spines['top'].set_visible(False)
    # ax4.spines['right'].set_visible(False)
    # ax4.spines['top'].set_visible(False)

对画图的操作进行一些基本的设定,如设置画布figure的大小,两张图wspacehspace之间的差距和间隔,还有将整个框子的右上部分全部去除,这样回复到R语言画图的风格中。

    colorlocal = colors[int(num_of_moudel)]

    for i in range(num_of_moudel):
        # ax1.plot(step_log_interval[i], train_metric_record[i], colors = colorlocal[i], label=config['names'][i])
        # ax2.plot(step_log_interval[i], train_loss_record[i], colors = colorlocal[i], label=config['names'][i])
        test_metric_record_y = util_data.smooth(test_metric_record[i])
        test_loss_record_y = util_data.smooth(test_loss_record[i])
        ax1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值