目录
一、初识深度学习
1.数据集
2.构建模型
3.训练模型
4.测试数据
5.评估模型
二、tensorflow中的数值类型
1.类型
2.张量创建
三、tensorflow中的字符串类型
1.创建
2.操作
四、tensorflow中的布尔类型
五、tensorflow中的数值精度
1.查看数值精度
2.类型转换
一、初识深度学习
1.数据集
数据集在使用过程中可分为训练集,验证集和测试集。
在使用数据集之前,一定要先了解自己的数据集中有哪些标签,哪些样本,以什么格式保存。
2.构建模型
自定义一个模型,近似于数据集的变化趋势,同时定义损失函数(loss)。
3.训练模型
先前向传播,计算损失,在反向传播,更新参数。
4.测试数据
训练好模型中的参数之后,进行验证
5.评估模型
选择好评估函数计算出评价指标
二、tensorflow中的数值类型
1.类型
| 数值类型 | 定义 | 实例 | 维度 | shape |
| 标量(Scalar) | 单个实数 | 1,2,3 | 0 | [] |
| 向量(Vector) | 实数的有序集合 | [1,2] | 1 | [n],n为长度 |
| 矩阵(Matrix) | n行m列的实数的有序集合 | [[1,2,3],[3,4,5]] | 2 | [n,m] 例为[2,3],2行3列的二维张量 |
| 张量(Tensor) | 所有维度数大于2的数组 | [ [[1,2,3], [4,5,6]], [[7,8,9], [10,11,12]] ] | 大于2 | [n,c,h,w] 例为[2,2,3],2行2列,深度为3的三维张量 |
2.张量创建
(1)一般使用tf.constant()进行张量创建
tf.constant(value,dtype=None,shape=None,name='Const')
import tensorflow as tf c=tf.constant([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]]) print(c)
(2)创建一个shape形状数据为全0的张量
tf.zeros([2,3,2]) #tf.zeros(shape, dtype=tf.float32, name=None)
(3)创建一个shape形状数据为全1的张量
tf.ones([2,3]) #tf.ones(shape, dtype=tf.float32, name=None)
(4)改变张量中元素的数据类型,且只能由低精度转到高精度
#tf.cast( x, dtype, name=None ) c=tf.ones([2,3]) print(tf.cast(c,float))#改变数据类型
(5)创建一个shape形状数据元素为value的张量
#tf.fill(dims,value, name=None) e = tf.fill([2,3],3) print(e)
(6)创建一个张量,其数据服从指定正态分布
shape:形状,mean: 均值,默认是0,stddev: 标准差,默认是1,dtype: 数据类型默认是float32
#tf.random_normal(
shape,
mean=0.0,
stddev=1.0,
dtype=tf.float32,
seed=None,
name=None
)
h=tf.random.normal(shape=(3,2),mean=2,stddev=1,dtype=tf.float32)
print(h)
(7)创建均匀分布张量
minval:最小值;maxval最大值
#tf.random_uniform(
shape,
minval=0,
maxval=None,
dtype=tf.float32,
seed=None,
name=None
)
k=tf.random.uniform(shape=(2,3),minval=1,maxval=4,dtype=tf.float32)
print(k)
(8)创建以start为起点,小于limit,delta为变化量的等差张量
tf.range(limit, delta=1, dtype=None, name='range') tf.range(start, limit, delta=1, dtype=None, name='range')
三、tensorflow中的字符串类型
1.创建
同样使用tf.constant()创建
String_tf=tf.constant('hello world')
print(String_tf)
2.操作
(1)拼接
tf.strings.join(
inputs, separator='', name=None
)
print(tf.strings.join(['hello','world'],separator=" ").numpy())
(2)长度
String_tf=tf.constant('hello world')
tf.strings.length(String_tf)
(3)切分
tf.strings.split(
input, sep=None, maxsplit=-1, name=None
)
tf.strings.split('hello world',sep='w').numpy
四、tensorflow中的布尔类型
tf.constant(False)
五、tensorflow中的数值精度
常用的精度有tf.float16,tf.float32,tf.float64,tf.int16,tf.int32,tf.int64
1.查看数值精度
使用dtype
data=tf.constant(123.456789) print(data.dtype)
2.类型转换
使用tf.cast( x, dtype, name=None )
data=tf.constant(123.456789) print(tf.cast(data,tf.float64))



