本文目的:本文主要用来学习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

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

1106

被折叠的 条评论
为什么被折叠?



