Tensorflow2.0深度学习⼊门与实战(⽇⽉光华)(学习总结
1)
Tensorflow2.0深度学习⼊门与实战(学习总结1)
我是刚学的,⽹易云课堂跟着⽇⽉光华⽼师,现在对每节课的学习课程做⼀下记录,总结,仅仅作为总结。
1.使⽤快捷键 shift+enter执⾏代码
2.使⽤shift+tab查看代码的使⽤注释
3.IN[*]表⽰还在执⾏代码
4.损失函数⽤均⽅误差(f(x)-y)^2来表⽰,是为了消除数据相减后有正有负的情况。
5.
none代表输⼊样本的维度,⽐如输⼊100个数据,none为100,这个参数在建⽴模型的时候不需要考虑;代表着100个维度为1的数据输⼊进去;第⼆个参数1代表输出的维度是1;
dense层实现的ax+b的输出;
import tensorflow as tf
import是python提供的⽤于导⼊模块的机制,导⼊是的整个模块的内容。
⽤于引⼊⼀个模块的同时为该模块取⼀个别名。
使⽤语法:import multiprocessing as mp 表⽰引⼊multiprocessing模块并取别 名为mp,在该⽂件的后续调⽤中mp就相当于是multiprocessing。
from tensorflow import keras
⽤于导⼊⼀个模块中的某⼀个部分,⽐如⼀个函数或者⼀个类等。
使⽤语法:from os import path 表⽰引⼊os模块中的path
Keras是⼀个由编写的开源库,可以作为、Microsoft-CNTK 和Theano的⾼阶,进⾏模型的设计、调试、评估、应⽤和可视化tf.keras 可以运⾏任何keras兼容的代码
import pandas as pd
ad_csv('./Desktop/dataset/Income1.csv')
读取CSV(逗号分割)⽂件到DataFrame
data
import matplotlib.pyplot as plt
Matplotlib是Python的⼀个绘图库,是Python中最常⽤的可视化⼯具之⼀,可以⾮常⽅便地创建2D图表和⼀些基本的3D图表。
Matplotlib是Python的绘图库,其中的pyplot包封装了很多画图的函数。
Matplotlib.pyplot 包含⼀系列类似 MATLAB 中绘图函数的相关函数。每个 Matplotlib.pyplot 中的函数会对当前的图像进⾏⼀些修改,例如:产⽣新的图像,在图像中产⽣新的绘图区域,在绘图区域中画线,给绘图加上标记,等等…… Matplotlib.pyplot 会⾃动记住当前的图像和绘图区域,因此这些函数会直接作⽤在当前的图像上。
%matplotlib inline
使⽤%matplotlib命令可以将matplotlib的图表直接嵌⼊到Notebook之中,或者使⽤指定的界⾯库显⽰图表,它有⼀个参数指定matplotlib 图表的显⽰⽅式。inline表⽰将图表嵌⼊到Notebook中。
Python提供了许多魔法命令,魔法命令都以%或者%%开头,以%开头的成为⾏命令,%%开头的称为单元命令。⾏命令只对命令所在的⾏有效,⽽单元命令则必须出现在单元的第⼀⾏,对整个单元的代码进⾏处理。
plt.scatter(data.Education,data.Income)
matlab学好了有什么用绘制散点图,函数的原型:
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None,
alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs)
参数的解释:
x,y:表⽰的是⼤⼩为(n,)的数组,也就是我们即将绘制散点图的数据点
x=data.Education
y=data.Income
model=tf.keras.Sequential()
Keras有两种类型的模型,tf.keras.Sequential 和 函数式模型(Model)
model.add(tf.keras.layers.Dense(1,input_shape=(1,)))
通过 .add() ⽅法⼀个个的将layer加⼊模型中
model.summary()
modelpile(optimizer='adam',
loss='mse'
)
mean_squared_error
顾名思义,意为均⽅误差,也称标准差,缩写为MSE,可以反映⼀个数据集的离散程度。
标准误差定义为各测量值误差的平⽅和的平均值的平⽅根,故⼜称为均⽅误差。
公式:
Adam 这个名字来源于⾃适应矩估计(Adaptive Moment Estimation),也是梯度下降算法的⼀种变形,但是每次迭代参数的学习率都有⼀定的范围,不会因为梯度很⼤⽽导致学习率(步长)也变得很⼤,参数的值相对⽐较稳定。
Adam 算法利⽤梯度的⼀阶矩估计和⼆阶矩估计动态调整每个参数的学习率。TensorFlow提供的tf.train.AdamOptimizer可控制学习速度,经过偏置校正后,每⼀次迭代学习率都有个确定范围,使得参数⽐较平稳。
可能你会有疑问,什么是优化器(Optimizer)?
很简单~就是模型训练的指导教练,能告诉模型权值该怎么调整,调整多⼤量,最终⽬标是让模型权值 theta 调整到最优,使得代价函数
f(theta) 最⼩。在所有优化算法中,基于梯度(Gradient)的算法最为常⽤,即⾸先计算 f(theta) 对 the
ta 的梯度 d(theta),theta 沿着梯度下降的⽅向进⾏调整。
history=model.fit(x,y,epochs=5000)
x:输⼊数据。 y:标签
epochs:整数,训练终⽌时的epoch值,训练将在达到该epoch值时停⽌
fit函数返回⼀个History的对象,其History.history属性记录了损失函数和其他指标的数值随epoch变化的情况,如果有验证集的话,也包含了验证集的这些指标变化情况
model.predict(x)
model.predict输⼊数据(data),输出预测结果
model.predict(pd.Series([20]))
pandas基于Numpy,可以看成是处理⽂本或者表格数据。pandas中有两个主要的数据结构,其中Series数据结构类似于Numpy中的⼀维数组,DataFrame类似于多维表格数据结构。
⼀、Series数据结构
Series是⼀种类似于⼀维数组的对象,由⼀组数据和⼀组与之相关的数据标签(索引)组成。
Series⽐较像列表(数组)和字典的结合体
import numpy as np
import pandas as pd
df = pd.Series([1,2,3,4], index=['a', 'b', 'c', 'd'])
print(df)
输出:
a 1
b 2
c 3
d 4 dtype: int64
会不定期学到哪分享到哪,哈哈,佛系随缘
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论