#-*- 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})


tensorflow进阶篇-3的更多相关文章

  1. tensorflow进阶篇-5(反向传播2)

    上面是一个简单的回归算法,下面是一个简单的二分值分类算法.从两个正态分布(N(-1,1)和N(3,1))生成100个数.所有从正态分布N(-1,1)生成的数据目标0:从正态分布N(3,1)生成的数据标 ...

  2. tensorflow进阶篇-5(反向传播1)

    这里将讲解tensorflow是如何通过计算图来更新变量和最小化损失函数来反向传播误差的:这步将通过声明优化函数来实现.一旦声明好优化函数,tensorflow将通过它在所有的计算图中解决反向传播的项 ...

  3. tensorflow进阶篇-4(损失函数2)

    Hinge损失函数主要用来评估支持向量机算法,但有时也用来评估神经网络算法.下面的示例中是计算两个目标类(-1,1)之间的损失.下面的代码中,使用目标值1,所以预测值离1越近,损失函数值越小: # U ...

  4. tensorflow进阶篇-4(损失函数1)

    L2正则损失函数(即欧拉损失函数),L2正则损失函数是预测值与目标函数差值的平方和.L2正则损失函数是非常有用的损失函数,因为它在目标值附近有更好的曲度,并且离目标越近收敛越慢: # L = (pre ...

  5. tensorflow进阶篇-4(损失函数3)

    Softmax交叉熵损失函数(Softmax cross-entropy loss)是作用于非归一化的输出结果只针对单个目标分类的计算损失.通过softmax函数将输出结果转化成概率分布,然后计算真值 ...

  6. Membership三步曲之进阶篇 - 深入剖析Provider Model

    Membership 三步曲之进阶篇 - 深入剖析Provider Model 本文的目标是让每一个人都知道Provider Model 是什么,并且能灵活的在自己的项目中使用它. Membershi ...

  7. idea 插件的使用 进阶篇

    CSDN 2016博客之星评选结果公布    [系列直播]零基础学习微信小程序!      "我的2016"主题征文活动   博客的神秘功能 idea 插件的使用 进阶篇(个人收集 ...

  8. 2. web前端开发分享-css,js进阶篇

    一,css进阶篇: 等css哪些事儿看了两三遍之后,需要对看过的知识综合应用,这时候需要大量的实践经验, 简单的想法:把qq首页全屏另存为jpg然后通过ps工具切图结合css转换成html,有无从下手 ...

  9. windows系统快捷操作の进阶篇

    上次介绍了windows系统上一些自带的常用快捷键,有些确实很方便,也满足了我们的一部分需求.但是我们追求效率的步伐怎会止步于此?这一次我将会进一步介绍windows上提升效率的方法. 一:运行 打开 ...

随机推荐

  1. I2C总线驱动框架详解

    一.I2C子系统总体架构 1.三大组成部分 (1)I2C核心(i2c-core):I2C核心提供了I2C总线驱动(适配器)和设备驱动的注册.注销方法,I2C通信方法(”algorithm”)上层的,与 ...

  2. shell 脚本 删除文件内容为空的文件

    #!/bin/bask # cd /tmp for a in * ;do if [ ! -s $a ] ;then #[ ! -s $a ] 文件为空返回为真 rm -rf $a fi done 测试 ...

  3. java web前端easyui(layout+tree+双tabs)布局+树+2个选项卡tabs

    1.列出要实现的样式: 2.实现的代码: 分三大部分: 1):页面主体部分:mian.vm <html> <head> <title>Ks UI</title ...

  4. 用Java取指定时区的时间 北京时间,纽约时间,班加罗尔时间

    /** * 取北京时间 * @return */ public static String getBeijingTime(){ return getFormatedDateString(8); } / ...

  5. C++ 补遗

    C++通过引用传递数组 数组形参可以声明为数组的引用.如果形参是数组的引用,编译器不会将数组实参转化为指针,而是传递数组的引用本身. 在这种情况下,数组大小成为形参和实参类型的一部分(实参长度与形参长 ...

  6. spring获取webapplicationcontext,applicationcontext几种方法详解(转)

    方法一:在初始化时保存ApplicationContext对象 代码: ApplicationContext ac = new FileSystemXmlApplicationContext(&quo ...

  7. CentOS 7 安装MySQL 8.0.11

    1. 下载安装包 wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar 下载 ...

  8. javascript中的with关键字

    说起js中的with关键字,很多小伙伴们的第一印象可能就是with关键字的作用在于改变作用域,然后最关键的一点是不推荐使用with关键字.听到不推荐with关键字后,我们很多人都会忽略掉with关键字 ...

  9. .Net中XML,JSON的几种处理方式

    一.XML: 1.基本了解: xml,Extensible markup language可扩展标记语言,用于数据的传输或保存,特点,格式非常整齐数据清晰明了,并且任何语言都内置了xml分析引擎, 不 ...

  10. .net core AOP之Filter

    当我们进行项目开发时,往往在开发过程中需要临时加入一些常用功能性代码,如身份验证.日志记录.异常获取等功能.如果每个方法中都加入这些功能性代码的话,无疑使项目显得过于臃肿,代码繁杂.这时候就要加入过滤 ...