热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深度学习常用函数记录(tensorflow)

持续更新。。。

一、损失函数

loss:预测值(y)与已知答案(y_)之间的差距

NN优化目标:

深度学习常用函数记录(tensorflow)

1、均方差mse

深度学习常用函数记录(tensorflow)

 tensorflow2实现

loss_mse = tf.reduce_mean(tf.square(y_-y))

y_代表label,已知答案,y代表预测值

 

2、自定义损失函数

深度学习常用函数记录(tensorflow)

  tensorflow2实现

                             y>y_?              True              False

loss_custom = tf.reduce_sum(tf.where(tf.greater(y,y_),(y-y_)*COST,(y_-y)*PROFIT))

tf.greater(x,y) ==  x > y?

tf.where(条件,真返回A,假返回B)

深度学习常用函数记录(tensorflow)

 

 3、交叉熵 ce,cross entropy

表征两个概率分布之间的距离

深度学习常用函数记录(tensorflow)

  tensorflow2实现

tf.losses.categorical_crossentropy(y_,y)#tensorflow内置的

loss_crossentropy =- tf.reduce_sum(y_*tf.math.log(tf.clip_by_value(y,0.1,1.0)))#根据公式实现的

tf.clip_by_value(x,start,end)#控制值在一个范围里[start,end]

例子

深度学习常用函数记录(tensorflow)

import tensorflow as tf
y_ = [[1,0],[2,3]]
y = [[0.6,0.4],[0.3,0.7]]
# loss_ce1 = tf.losses.categorical_crossentropy([1, 0], [0.6, 0.4])
loss_ce1 = tf.losses.categorical_crossentropy(y_,y)
loss_ce11 = -tf.reduce_sum(y_*tf.math.log(tf.clip_by_value(y,0.1,1.0)),axis=1)
print("loss_ce1:", loss_ce1)
print(loss_ce11)
输出
loss_ce1: tf.Tensor([0.5108256 3.4779706], shape=(2,), dtype=float32)
loss_ce11:tf.Tensor([0.5108256 3.4779706], shape=(2,), dtype=float32)

 

 4、softmax和交叉熵的结合

输出先过softmax函数,在计算y与y_的交叉熵损失函数

tensorflow实现

tf.nn.softmax_cross_entropy_with_logits(y_,y)
 1 # softmax与交叉熵损失函数的结合
 2 import tensorflow as tf
 3 import numpy as np
 4 
 5 y_ = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0]])
 6 y = np.array([[12, 3, 2], [3, 10, 1], [1, 2, 5], [4, 6.5, 1.2], [3, 6, 1]])
 7 y_pro = tf.nn.softmax(y)
 8 loss_ce1 = tf.losses.categorical_crossentropy(y_,y_pro)
 9 loss_ce2 = tf.nn.softmax_cross_entropy_with_logits(y_, y)
10 
11 print('分步计算的结果:\n', loss_ce1)
12 print('结合计算的结果:\n', loss_ce2)
输出
分步计算的结果:
 tf.Tensor(
[1.68795487e-04 1.03475622e-03 6.58839038e-02 2.58349207e+00
 5.49852354e-02], shape=(5,), dtype=float64)
结合计算的结果:
 tf.Tensor(
[1.68795487e-04 1.03475622e-03 6.58839038e-02 2.58349207e+00
 5.49852354e-02], shape=(5,), dtype=float64)

第7、8行等于第9行

 


推荐阅读
  • 本文提供了PyTorch框架中常用的预训练模型的下载链接及详细使用指南,涵盖ResNet、Inception、DenseNet、AlexNet、VGGNet等六大分类模型。每种模型的预训练参数均经过精心调优,适用于多种计算机视觉任务。文章不仅介绍了模型的下载方式,还详细说明了如何在实际项目中高效地加载和使用这些模型,为开发者提供全面的技术支持。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 目录预备知识导包构建数据集神经网络结构训练测试精度可视化计算模型精度损失可视化输出网络结构信息训练神经网络定义参数载入数据载入神经网络结构、损失及优化训练及测试损失、精度可视化qu ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 【图像分类实战】利用DenseNet在PyTorch中实现秃头识别
    本文详细介绍了如何使用DenseNet模型在PyTorch框架下实现秃头识别。首先,文章概述了项目所需的库和全局参数设置。接着,对图像进行预处理并读取数据集。随后,构建并配置DenseNet模型,设置训练和验证流程。最后,通过测试阶段验证模型性能,并提供了完整的代码实现。本文不仅涵盖了技术细节,还提供了实用的操作指南,适合初学者和有经验的研究人员参考。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • 自然语言处理(NLP)——LDA模型:对电商购物评论进行情感分析
    目录一、2020数学建模美赛C题简介需求评价内容提供数据二、解题思路三、LDA简介四、代码实现1.数据预处理1.1剔除无用信息1.1.1剔除掉不需要的列1.1.2找出无效评论并剔除 ... [详细]
  • Leetcode学习成长记:天池leetcode基础训练营Task01数组
    前言这是本人第一次参加由Datawhale举办的组队学习活动,这个活动每月一次,之前也一直关注,但未亲身参与过,这次看到活动 ... [详细]
  • 一、MATLAB常用的基本数学函数abs(x):纯量的绝对值或向量的长度angle(z):复数z的相角(Phaseangle)sqrt(x)࿱ ... [详细]
  • 本文介绍了如何使用 Google Colab 的免费 GPU 资源进行深度学习应用开发。Google Colab 是一个无需配置即可使用的云端 Jupyter 笔记本环境,支持多种深度学习框架,并且提供免费的 GPU 计算资源。 ... [详细]
  • poj 3352 Road Construction ... [详细]
  • 如何将Python与Excel高效结合:常用操作技巧解析
    本文深入探讨了如何将Python与Excel高效结合,涵盖了一系列实用的操作技巧。文章内容详尽,步骤清晰,注重细节处理,旨在帮助读者掌握Python与Excel之间的无缝对接方法,提升数据处理效率。 ... [详细]
  • 深入解析经典卷积神经网络及其实现代码
    深入解析经典卷积神经网络及其实现代码 ... [详细]
  • 在第七天的深度学习课程中,我们将重点探讨DGL框架的高级应用,特别是在官方文档指导下进行数据集的下载与预处理。通过详细的步骤说明和实用技巧,帮助读者高效地构建和优化图神经网络的数据管道。此外,我们还将介绍如何利用DGL提供的模块化工具,实现数据的快速加载和预处理,以提升模型训练的效率和准确性。 ... [详细]
  • 如何在Linux系统中部署TensorFlow的详细指南
    本文详细介绍了在Linux系统中部署TensorFlow的过程。作者基于北京大学曹建教授的MOOC课程进行学习,但由于课程内容较旧,环境配置方面遇到了不少挑战。经过多次尝试,最终成功解决了这些问题,并总结了一套详细的安装指南,帮助初学者快速上手TensorFlow。 ... [详细]
author-avatar
手机用户2502904457
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有