• tensorflow进阶篇-3


    #-*- 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(tf.float32,shape=(3,5))
    #创建矩阵乘法和加法中要用到的常用矩阵
    m1=tf.constant([[1.],[0.],[-1.],[2.],[4.]])
    m2=tf.constant([[2.]])
    a1=tf.constant([[10.]])
    
    #声明操作,表示成计算图
    prod1=tf.matmul(x_data,m1)
    print sess.run(prod1,feed_dict={x_data:my_array})
    print '-'*80
    prod2=tf.matmul(prod1,m2)
    print sess.run(prod2,feed_dict={x_data:my_array})
    print '-'*80
    add1=tf.add(prod2,a1)
    print sess.run(add1,feed_dict={x_data:my_array})
    print '-'*80
    
    #tensorboard --logdir=/path/to/log-directory
    #运行上面的代码,可以用tensorboard可视化,最好利用chrome,Firefox好像不怎么支持
    for x_var in x_vars:
        writer = tf.summary.FileWriter('./graphs', sess.graph)
        print sess.run(add1,feed_dict={x_data:x_var})
        writer.close()

    #-*- coding:utf-8 -*-
    #Tensorflow的多层Layer
    import numpy as np
    import tensorflow as tf
    sess=tf.Session()
    
    #通过numpy创建2D图像,4x4像素
    x_shape=[1,4,4,1]
    x_val=np.random.uniform(size=x_shape)
    
    #创建占位符
    x_data=tf.placeholder(tf.float32,shape=x_shape)
    
    #创建滑动窗口
    my_filter=tf.constant(0.25,shape=[2,2,1,1])
    my_strides=[1,2,2,1]
    mov_avg_layer=tf.nn.conv2d(x_data,my_filter,my_strides,padding='SAME',name='Moving_Avg_Window')
    
    #自定义Layer,操作滑动窗口平均的2x2的返回值
    def custom_layer(input_matrix):
        input_matrix_sqeezed=tf.squeeze(input_matrix)
        A=tf.constant([[1.,2.],[-1.,3.]])
        b=tf.constant(1.,shape=[2,2])
        temp1=tf.matmul(A,input_matrix_sqeezed)#
        temp=tf.add(temp1,b)#  Ax+b
        return tf.sigmoid(temp)
    
    with tf.name_scope('Custom_Layer') as scope:
        custom_layer1=custom_layer(mov_avg_layer)
    
    print sess.run(custom_layer1,feed_dict={x_data:x_val})
    
    
  • 相关阅读:
    ant design同时获取下拉框值与文本(选择框)
    nodejs express vue实现文件上传
    Vue路由传参的两种方式
    Vue项目中的接口调用
    表单上传文件 nodejs express Vue (优化)
    httprunner安装可能遇到的问题及解决办法之hrun V查询失败mac
    Eclipse调整编码方式总结
    css水平垂直居中的方法
    手机web前端调试页面的几种方式
    寻找共线特征和寻找缺失值
  • 原文地址:https://www.cnblogs.com/ybf-yyj/p/7854284.html
Copyright © 2020-2023  润新知