美文网首页
Tensorflow(一) 基础命令

Tensorflow(一) 基础命令

作者: peizhi_xu | 来源:发表于2018-11-29 17:04 被阅读0次

    Tensorflow是怎样运作的

    1. 导入或生成数据集

    2. 对数据进行标准化

    3. 将数据集划分成三部分:训练集、测试集合验证(validation)集:验证集用于调整假设参数,以获取一组最好的假设参数

    4. 设定算法参数

    5. 初始化变量(Variable)和占位符(Placeholder)

    6. 定义模型结构

    7. 声明损失函数

    8. 初始化并训练模型

    9. 评估模型

    10. 调整假设参数

    11. 部署/预测新的输出

    声明变量(Variable)和张量(Tensor)

    固定张量:

    创建一个由0填充的张量:

    zero_tsr = tf.zeros([row_dim, col_dim])

    创建一个由1填充的张量:

    ones_tsr = tf.ones([row_dim, col_dim])

    创建一个由常数填充的张量:

    filled_tsr = tf.fill([row_dim, col_dim], 42)

    创建一个张量类型的常数

    constant_tsr = tf.constant([1,2,3])

    序列张量:

    linear_tsr = tf.linspace(start=0, stop=1, start=3)

    integer_seq_tsr = tf.range(start=6, limit=15, delta=3)

    随机张量:

    randunif_tsr = tf.random_uniform([row_dim, col_dim],minval=0, maxval=1)

    randnorm_tsr = tf.random_normal([row_dim, col_dim],mean=0.0,stddev=1.0)

    truncnorm_tsr = tf.truncated_normal([row_dim, col_dim],mean=0.0, stddev=1.0)

    # mean表示均值,stddev表示偏差

    randnorm=tf.random_normal(shape=[1000],mean=0 ,stddev=1.)

    randtrun=tf.truncated_normal(shape=[1000],mean=0,stddev=1.)

    对比

    shuffled_output = tf.random_shuffle(input_tensor)

    cropped_image = tf.random_crop(my_image, [height/2, width/2,3])

    使用占位符(Placeholder)和变量(Variable)

    变量:就是算法中的那些参数,tenserflow框架会时刻追踪着那些变量,调整变量的值,使算法最优化。

    placeholder:占位符,你可以往里面喂进制定类型和形状的张量。

    代码

    使用矩阵

    //创建对角矩阵

    identity_matrix = tf.diag([1.0, 1.0, 1.0])

    //将数组转化为张量

    D = tf.convert_to_tensor(np.array([[1., 2., 3.],[-3., -7.,-1.],[0., 5., -2.]]))

    //两个矩阵相乘

    tf.matmul(m1,m2)

    //对矩阵进行转置操作

    tf.transpose(m)

    //计算矩阵所对应的行列式的值

    tf.matrix_determinant(m)

    //获取该矩阵的逆矩阵

    tf.matrix_inverse(m)

    //使用cholesky分解:一个对称正定矩阵可以表示成一个下三角矩阵L和其转置的乘积的分解

    tf.cholesky(m)

    //获取矩阵的特征值和特征向量

    tf.self_adjoint_eig(m)

    声明操作(Operation)

    abs()

    求输入tensor的绝对值

    ceil()

    对tensor进行向上取整

    cos()

    求tensor的cos值

    exp()

    求tensor以e为底的指数

    floor()

    对tensor进行向下取整

    inv()

    求tensor的倒数

    log()

    求tensor的自然对数

    maximum()

    选取两个tensor中较大的那个元素

    minimum()

    选取两个tensor中较小的那个元素

    neg()

    求tensor的负数

    pow()

    第一个tensor作为底数,第二个tensor作为指数

    round()

    获取tensor的约数,四舍五入

    rsqrt()

    求tensor的平方根到倒数

    sign()

    根据tensor的sign值返回-1,0,1

    sin()

    求tensor的sin值

    sqrt()

    求tensor的平方根

    square()

    求tensor的平方

    squared_difference()

    求两个tensor的差的平方

    输出结果

    实现激活函数

    sigmod 类:

    sigmod: 1/(1+exp(-x))

    tanh: ((exp(x)- exp(-x))/(exp(x)+exp(-x))

    softsign: x/(abs(x) + 1)

    输出图像

    ReLu 类:

    softplus: log(exp(x) + 1)

    ReLu: max(0,x)

    ReLu6: min(max(0,x),6)

    ExpLu(elu): (exp(x)-1) if x < 0 else x

    相关文章

      网友评论

          本文标题:Tensorflow(一) 基础命令

          本文链接:https://www.haomeiwen.com/subject/ibvfcqtx.html