tensorflow2官方demo全流程详解

本文介绍了在Tensorflow2.4环境下,基于python3.6和CUDA11.0搭建官方示例代码的过程,包括Tensorflow2与1的区别、模型构建方法。选用ModelSubclassingAPI建立了一个包含卷积层和全连接层的模型,用于MNIST手写数字识别。通过数据预处理、模型定义、损失函数、优化器以及训练过程,最终在测试集上达到98.12%的准确率。

本文目的:本文主要用来学习tensorflow2的官方demo

本篇博客搭建环境为tensorflow2.4+ python3.6 + cuda11.0

官方demo地址:链接

不想去看官方文档或者想要更详细的解释可看本篇博客

一、tensorflow2介绍

Tensorflow1与tensoflow2对比

tensorflow的一些细节

Tensorflow2.0需要注意的几点

1.tensorflowtensor的通道顺序为:[batch, height, width,channel]

2.一般tf2.0可选使用Keras Functional API(tf1中搭建模型的风格)和Model Subclassing API(类似pytorch中搭建模型的风格)两种方法搭建模型。

(本篇博客选用的是第二种方式,也正是官方文档的面向专家的快速入门)

查看tensorflowAPI或者教程可以到tensorflow官网:Release TensorFlow 2.4.0 ·tensorflow/tensorflow (github.com)

二、model.py

Model.py文件全部代码

from tensorflow.keras.layers import Dense, Conv2D, Flatten
from tensorflow.keras import models
 
class Mymodel(models):
    def __init__(self):
        super(Mymodel, self).__init__()
        self.conv1 = Conv2D(32, 3, activation='relu')
        self.flatten = Flatten()
        self.d1 = Dense(128, activation='relu')
        self.d2 = Dense(10, activation='softmax')
    def call(self, x):
        x = self.conv1(x)
        x = self.flatten(x)
        x = self.d1(x)
        return self.d2(x)

前面两行为导入需要用到的模块,包括全连接层,卷积层,拉直层,对于每个层可以在官方文档查看或者在pycharm中crtl + 左键可查看

例如:在pycharm中crtl + 左键查看Conv2D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值