tensorflow分类的loss函数_Tensorflow基础(搭建网络训练模型)

训练一个简单的Tensorflow模型

当前使用Tensorflow训练一个模型的简单方法是通过Tensorflow的高级API,Keras。Keras提供两种编程模型:

  1. Model

  2. Sequential

Mode方式类似于函数式编程,每个操作将对数据进行输出,这样经过许多不同的层即可以获取到最后的输出。比如我们要对输入x进行如下操作:

c2874034ad5dcb6e97ffd6872f4b3147.png

函数式编程实现

  函数式编程实现:

class MyModel(Model):    def __init__(self):        super(MyModel,self).__init__()        self.conv1 = layers.Conv2D(filters=32,kernel_size=3,activation='relu')        self.flatten = layers.Flatten()        self.d1 = layers.Dense(units=128,activation='relu')        self.d2 = layers.Dense(units=10,activation='softmax')    def call(self,x):        x = self.conv1(x)        x = self.flatten(x)        x = self.d1(x)        x = self.d2(x)        return x  

        训练一个模型首先需要确定:

  • 使用什么样的优化器

  • 使用什么损失函数

  • 损失函数对于变量求梯度,然后将梯度应用在优化器中,更改优化器变量的值实现梯度下降。

     在这里我们使用如下损失函数和优化器

loss_object = keras.losses.SparseCategoricalCrossentropy()optimizer = keras.optimizers.Adam()

训练流程:

  1. 计算前向输出

  2. 根据label和前向输出计算损失

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值