Tensorflow进阶】的更多相关文章

上面是一个简单的回归算法,下面是一个简单的二分值分类算法.从两个正态分布(N(-1,1)和N(3,1))生成100个数.所有从正态分布N(-1,1)生成的数据目标0:从正态分布N(3,1)生成的数据标为目标类1,模型算法通过sigmoid函数将这些生成的数据转换成目标类数据.换句话讲,模型算法是sigmoid(x+A),其中,A是要拟合的变量,理论上A=-1.假设,两个正态分布的均值分别是m1和m2,则达到A的取值时,它们通过-(m1+m2)/2转换成到0等距离的值. 实现如下: import…
这里将讲解tensorflow是如何通过计算图来更新变量和最小化损失函数来反向传播误差的:这步将通过声明优化函数来实现.一旦声明好优化函数,tensorflow将通过它在所有的计算图中解决反向传播的项.当我们传入数据,最小化损失函数,tensorflow会在计算图中根据状态相应的调节变量. 这里先举一个简单的例子,从均值1,标准差为0.1的正态分布中随机抽样100个数,然后乘以变量A,损失函数L2正则函数,也就是实现函数X*A=target,X为100个随机数,target为10,那么A的最优结…
张量操作 在tensorflow中,有很多操作张量的函数,有生成张量.创建随机张量.张量类型与形状变换和张量的切片与运算 生成张量 固定值张量 tf.zeros(shape, dtype=tf.float32, name=None) 创建所有元素设置为零的张量.此操作返回一个dtype具有形状shape和所有元素设置为零的类型的张量. tf.zeros_like(tensor, dtype=None, name=None) 给tensor定单张量(),此操作返回tensor与所有元素设置为零相同…
Hinge损失函数主要用来评估支持向量机算法,但有时也用来评估神经网络算法.下面的示例中是计算两个目标类(-1,1)之间的损失.下面的代码中,使用目标值1,所以预测值离1越近,损失函数值越小: # Use for predicting binary (-1, 1) classes # L = max(0, 1 - (pred * actual)) hinge_y_vals = tf.maximum(., . - tf.multiply(target, x_vals)) hinge_y_out =…
L2正则损失函数(即欧拉损失函数),L2正则损失函数是预测值与目标函数差值的平方和.L2正则损失函数是非常有用的损失函数,因为它在目标值附近有更好的曲度,并且离目标越近收敛越慢: # L = (pred - actual)^2 l2_y_vals = tf.square(target - x_vals) l2_y_out = sess.run(l2_y_vals) L1正则损失函数(即绝对值损失函数).与L2正则损失函数对差值求平方差不同的是,L1正则损失函数对差值求绝对值.L1正则在目标附近不…
#-*- coding:utf-8 -*- #Tensorflow的嵌入Layer import numpy as np import tensorflow as tf sess=tf.Session() #创建占位符和数据 my_array=np.array([[1.,3.,5.,7.,9.], [-2.,0.,2.,4.,6.], [-6,-3,0.,3.,6.]]) x_vars=np.array([my_array,my_array+1]) x_data=tf.placeholder(t…
模型保存与恢复.自定义命令行参数. 在我们训练或者测试过程中,总会遇到需要保存训练完成的模型,然后从中恢复继续我们的测试或者其它使用.模型的保存和恢复也是通过tf.train.Saver类去实现,它主要通过将Saver类添加OPS保存和恢复变量到checkpoint.它还提供了运行这些操作的便利方法. tf.train.Saver(var_list=None, reshape=False, sharded=False, max_to_keep=5, keep_checkpoint_every_n…
图与会话 图 tf.Graph TensorFlow计算,表示为数据流图.一个图包含一组表示 tf.Operation计算单位的对象和tf.Tensor表示操作之间流动的数据单元的对象.默认Graph值始终注册,并可通过调用访问 tf.get_default_graph. a = tf.constant(1.0) assert c.graph is tf.get_default_graph() 我们可以发现这两个图是一样的.那么如何创建一个图呢,通过tf.Graph() g1= tf.Graph…
变量作用域 tensorflow提供了变量作用域和共享变量这样的概念,有几个重要的作用. 让模型代码更加清晰,作用分明 变量作用域域 通过tf.variable_scope(<scope_name>)创建指定名字的变量作用域 with tf.variable_scope("itcast") as scope: print("----") 加上with语句就可以在整个itcast变量作用域下就行操作. 嵌套使用 变量作用域可以嵌套使用 with tf.va…
变量的的创建.初始化.保存和加载 其实变量的作用在语言中相当,都有存储一些临时值的作用或者长久存储.在Tensorflow中当训练模型时,用变量来存储和更新参数.变量包含张量(Tensor)存放于内存的缓存区.建模时它们需要被明确地初始化,模型训练后它们必须被存储到磁盘.值可在之后模型训练和分析是被加载. Variable类 tf.Variable.init(initial_value, trainable=True, collections=None, validate_shape=True,…