《动手学习深度学习
X1996_
这个作者很懒,什么都没留下…
展开
-
tensorflow中callbacks
tf.keras.callbacks是回调函数,在训练过程中可以访问用来做一些决策tf.keras.callbacks.EarlyStopping早停函数,当监控目标monitor训练patience轮都不下降时,结束训练tf.keras.callbacks.EarlyStopping( monitor='val_loss', min_delta=0, patience=0, verbose=0, mode='auto', baseline=None,原创 2022-05-04 14:36:49 · 841 阅读 · 1 评论 -
tensorflow中model.compile()
model.compile()用来配置模型的优化器、损失函数,评估指标等里面的具体参数有:compile( optimizer='rmsprop', loss=None, metrics=None, loss_weights=None, weighted_metrics=None, run_eagerly=None, steps_per_execution=None, jit_compile=None, **kwargs)我原创 2022-05-04 14:11:56 · 2474 阅读 · 0 评论 -
7. LeNet
LeNet网络有两层卷积层,两层池化层,三层全连接层构成,搭建模型直接堆叠就好了搭建网络import tensorflow as tffrom d2l import tensorflow as d2ldef net(): return tf.keras.models.Sequential([ tf.keras.layers.Conv2D(filters=6, kernel_size=5, activation='sigmoid',原创 2022-04-17 21:59:24 · 92 阅读 · 0 评论 -
6. 正则化 Dropout
正则化正则化主要是为了减少模型的过拟合,就像激活函数是为了增加网络的非线性。Dropout只是其中的一种方法,主要是以一个概率将隐藏层的隐藏单元置为03. 通常越浅层网络置0的概率越低。import tensorflow as tffrom d2l import tensorflow as d2l# 正则化 以dropout的概率丢弃张量输入X中的元素def dropout_layer(X, dropout): # 断言 判断dropout是否在0-1 assert 0 <原创 2022-04-16 21:56:01 · 273 阅读 · 0 评论 -
5.搭建两层网络
跟前面的没什么差别,搭建两层网络就初始化两层网络的参数就好了1. 自己初始化参数模型那些,巴拉巴拉巴拉************会用到前面的训练、预测、评估部分函数,复制过来就好了没有***d2l***库的话安装就好了!pip install d2limport tensorflow as tffrom d2l import tensorflow as d2l# 分批载入数据集batch_size = 256train_iter, test_iter = d2l.load_data_fas原创 2022-04-16 16:55:32 · 452 阅读 · 0 评论 -
4.简洁实现softmax分类
与3中的一样,只是把自己实现的函数用API接口代替了,看着简洁了import tensorflow as tffrom d2l import tensorflow as d2lbatch_size = 256train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)# 初始化模型参数net = tf.keras.models.Sequential()net.add(tf.keras.layers.Flatten(input原创 2022-04-15 22:25:09 · 288 阅读 · 0 评论 -
3从0实现softmax训练,实现Fashion-MNIST分类
一. 数据集介绍Fashion-MNIST由10个类别的图像组成, 每个类别由训练数据集(train dataset)中的6000张图像 和测试数据集(test dataset)中的1000张图像组成。 因此,训练集和测试集分别包含60000和10000张图像。 测试数据集不会用于训练,只用于评估模型性能。Fashion-MNIST中包含的10个类别,分别为t-shirt(T恤)、trouser(裤子)、pullover(套衫)、dress(连衣裙)、coat(外套)、sandal(凉鞋)、shirt原创 2022-04-15 21:56:17 · 587 阅读 · 0 评论 -
2利用API实现线性回归深度学习训练
这一个就是把昨天写的一些函数用API代替实现,不需要自己去写,比较简洁,实现的功能跟1一样,都是实现一个简单的线性回归网络import randomimport tensorflow as tf# 生成数据集 y = X*w + b + (误差)def Data(w, b, num): # 生成全0矩阵 X = tf.zeros((num, w.shape[0])) # 给x随机赋初值 X = X + tf.random.normal(shape=X.shape) # 计算X对原创 2022-04-15 15:57:07 · 1030 阅读 · 0 评论 -
1.实现一个最简单的线性回归深度学习训练
**一、实现深度学习训练主要有数据集的制作载入数据集定义模型并初始化模型参数定义损失函数定义优化函数设置迭代次数,batch_size大小,开始训练**import randomimport tensorflow as tf# 生成数据集 y = X*w + b + (误差)def Data(w, b, num): # 生成全0矩阵 X = tf.zeros((num, w.shape[0])) # 给x随机赋初值 X = X + tf.random.norma原创 2022-04-13 15:50:30 · 1528 阅读 · 0 评论