美文网首页我爱编程
tensorflow学习笔记---tensorflow acti

tensorflow学习笔记---tensorflow acti

作者: ElephantDees | 来源:发表于2018-02-05 16:40 被阅读0次

    """tf.random_normal(shape,mean = 0.0,stddev = 1.0,dtype = tf.float32,seed = None,name = None)

    从正态分布输出随机值。

    shape:一维整数张量或Python数组。 输出张量的形状。用一个列表表示产出的张量的形状

    mean:类型dtype的0-D张量或Python值。正态分布的均值。均值

    stddev:dtype类型的0-D张量或Python值。正态分布的标准差。标准差

    dtype:输出的类型。数据类型

    seed:一个Python整数。 用于为分发创建一个随机种子。 有关行为,请参阅set_random_seed。

    name:操作的名称(可选)。

    tf.zeros(shape, dtype=tf.float32, name=None)

    生成元素值为0的数或数组。

    shape:生成维度的形状

    dtype:数据的类型

    name:名字,参数可选。

    numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)[source]

    start:是采样的起始点

    stop:是采样的终点

    num:是采样的点个数

    endpoint:是最后一个stop数字是否包含进去,默认包含;

    retstep;是两个数字间的间距,默认不显示;

    dtype默认

    tf.reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)

    求平均值

    input_tensor:待求值的tensor。

    reduction_indices:在哪一维上求解。不指定参数时,那么就在所有的元素中取平均值。为0,每一列求平均值,为1,则第二维的元素取平均值,即每一行求平均值

    """

    import tensorflowas tf

    import numpyas np

    def add_layer(inputs,in_size,out_size,activation_function=None):#添加层函数

        Weights = tf.Variable(tf.random_normal([in_size,out_size]))#随机输出一个行为in_size和列为out_size的数组,weights是有一个初始值的。

        biases = tf.Variable(tf.zeros([1,out_size])+0.1)#产生一个1行,out_size列全为0的数组,数组与元素都加上1?。

        Wx_plus_b = tf.matmul(inputs,Weights) + biases#?

        if activation_functionis None:

    outputs = Wx_plus_b

    else:

    outputs = activation_function(Wx_plus_b)

    return outputs

    x_data = np.linspace(-1,1,300)[:,np.newaxis]#-1到1的区间有300个单位,np.newaxis为x_data增加维度?

    noise = np.random.normal(0,0.05,x_data.shape)#加入干扰值提高数据的真实性,由均值为0,方差为0.05的正态分布中产生一个和x_data一样大的数组

    y_data = np.square(x_data) -0.5 + noise#np.square将x_data里的数都进行平方运算。

    xs = tf.placeholder(tf.float32,[None,1])#列是1行不定

    ys = tf.placeholder(tf.float32,[None,1])#

    l1 = add_layer(xs,1,10,activation_function=tf.nn.relu)

    prediction = add_layer(l1,10,1,activation_function=None)

    loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys - prediction),

                    reduction_indices=[1]))#先求reduce_sum() 就是求和,

    # 由于求和的对象是tensor,所以是沿着tensor的某些维度求和。

    # reduction_indices是指沿tensor的哪些维度求和

    train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

    #tf.train.GradientDescentOptimizer(learingRate).minimize(loss)

    #这里learingRate为梯度下降法的学习速率tf.train.GradientDescentOptimizer()返回一个optimizer,

    # 参数为learningRate,这个运算的目的就是最小化loss。

    init = tf.initialize_all_variables()

    sess = tf.Session()

    sess.run(init)

    for iin range(100):

    sess.run(train_step,feed_dict={xs:x_data,ys:y_data})

    if i %50 ==0:

    print(sess.run(loss,feed_dict={xs:x_data,ys:y_data}))

    相关文章

      网友评论

        本文标题:tensorflow学习笔记---tensorflow acti

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