Tensorflow tensor 数学运算和逻辑运算方式_python

来源:脚本之家  责任编辑:小易  

1、解压tensor_toolbox_2.5.zip 2、将解压出来的文件夹tensor_toolbox_2.5拷贝到malab安装文件中的toolbox文件夹下,并将tensor_toolbox_2.5改名为tensor_toolbox 3、启动malab,在matlab窗口中中找到Current Folder,从根目录中找到tensor_toolwww.zgxue.com防采集请勿采集本网。

一、arthmetic 算术操作(+,-,*,/,Mod)

(1)tensor-tensor操作(element-wise)

#两个tensor 运算#运算规则:element-wise。即c[i,j,..,k]=a[i,j,..,k] op b[i,j,..,k]ts1=tf.constant(1.0,shape=[2,2])ts2=tf.Variable(tf.random_normal([2,2]))sess.run(tf.global_variables_initializer())#以ts1和ts2为例: #(1)加法+ts_add1=tf.add(ts1,ts2,name=None)ts_add2=ts1+ts2 #二者等价#(2)减法-ts_sub1=tf.subtract(ts1,ts2,name=None)ts_sub2=ts1-ts2 #二者等价#(3)乘法*ts_mul1=tf.multiply(ts1,ts2,name=None)ts_mul2=ts1*ts2#(4)除法/ts_div1=tf.divide(ts1,ts2,name=None)ts_div2=tf.div(ts1,ts2,name=None) #div 支持 broadcasting(即shape可不同)ts_div3=ts1/ts2#另外还有truediv(x,y) x,y类型必须一致,floor_div等。#(5)取模Mod(估计基本用不到)

(2)tensor-scalar操作

#scalar-tensor操作。#对tensor中所有element执行同样的操作(+,-,*,/)#加法ts_add=ts1+2#减法ts_sub=ts1-2#乘法ts_mul=ts1*2#除法ts_div=ts1/2

二、基本数学函数

#以下x,y均代表tensor tf.add_n(inputs, name=None) #inputs:tensor数组,所有tensor相加tf.abs(x, name=None) #绝对值tf.negative(x, name=None) #取反tf.sign(x, name=None) #取符号(y = sign(x) = -1 if x < 0; 0 if x == 0; 1 if x > 0.)tf.square(x, name=None) #y=x*xtf.round(x, name=None) #Rounds the values of a tensor to the nearest integer, element-wise.tf.sqrt(x, name=None) #sqrt tf.pow(x, y, name=None) #x,y均为tensor,element-wise求powtf.exp(x, name=None) #y=e^xtf.log(x, name=None) #y=log(x) tf.ceil(x, name=None) #ceiltf.floor(x, name=None) #floortf.maximum(x, y, name=None) #z=max(x,y)tf.minimum(x, y, name=None)tf.cos(x, name=None) #三角函数,sin,cos,tan,acos,asin,atantf.sin(x, name=None) tf.tan(x, name=None)tf.acos(x, name=None)tf.asin(x, name=None)tf.atan(x, name=None)#...#等等一些函数。

三、Matrix矩阵操作

tf.diag(diagonal, name=None) #得到以diagonal为对角的tensortf.diag_part(input, name=None) #tf.diag 逆操作,得到input的对角矩阵 tf.transpose(a, perm=None,name=None) #转置矩阵,y[i,j]=x[j,i]#矩阵乘法tf.matmul(a, b, transpose_a=False, transpose_b=False, # adjoint_a=False, adjoint_b=False, #共轭 a_is_sparse=False, b_is_sparse=False, #矩阵是否稀疏 name=None)

四、Reduction 归约操作

#(1)tf.reduce_sum #当keep_dims=False。rank of tensor会降维度。tf.reduce_sum(input_tensor, axis=None, #要归约的dimention。值为None或一个数字或者数组。如0,1,[0,3,4] keep_dims=False, #if true, retains reduced dimensions with length 1. name=None, reduction_indices=None) #(2)tf.reduce_min / tf.reduce_max / tf.reduce_mean#参数与tf.reduce_sum一致。#tf.reduce_min : 被归约的数取最小值;#tf.reduce_max : 被归约的数取最大值;#tf.reduce_mean: 被归约的数取平均值。 #(3)逻辑操作# tf.reduce_all:logical and operation# tf.reduce_any: logical or operation #(4)自定义操作函数tf.einsum(equation, *inputs)#例子:tf.einsum('ij,jk->ik', ts1,ts2) #矩阵乘法tf.einsum('ij->ji',ts1) #矩阵转置

五、tensor大小 比较

#(1)相等equal (element-wise)tf.equal(x, y, name=None) #Returns the truth value of (x == y) element-wise. #(2)不等not_equal tf.not_equal(x, y, name=None) #(3)其他比较tf.less(x, y, name=None)tf.less_equal(x, y, name=None)tf.greater(x, y, name=None)tf.greater_equal(x, y, name=None)

六、恒等映射

#恒等映射

tf.identity(input, name=None) #Return a tensor with the same shape and contents as the input tensor or value.

七、类型转化

tf.cast(x, dtype, name=None)#Casts a tensor to a new type. #For example:# tensor `a` is [1.8, 2.2], dtype=tf.float#tf.cast(a, tf.int32) ==> [1, 2] dtype=tf.int32

八、例子

(1)RELU实现

import tensorflow as tfdef relu(x): #要构造一个和x shape一样的Tensor。源码中应该不会用效率这么低的写法。 y=tf.constant(0.0,shape=x.get_shape()) return tf.where(tf.greater(x,y),x,y) sess=tf.Session()x=tf.Variable(tf.random_normal(shape=[10],stddev=10))sess.run(tf.global_variables_initializer())x_relu=relu(x)data_x,data_x_relu=sess.run((x,x_relu))for i in range(0,len(data_x)): print("%.5f --relu--> %.5f" %(data_x[i],data_x_relu[i]))

补充知识:tensorflow 复合逻辑‘且'和‘或'的实现

我就废话不多说了,大家还是直接看代码吧~

import tensorflow as tfn1 = tf.constant(2)n2 = tf.constant(3)n3 = tf.constant(4)n4 = tf.constant(5)def true_fn1(): return tf.constant(11)def false_fn1(): return tf.constant(22)def true_fn(): return tf.cond(n3<n4,true_fn1,false_fn1)def false_fn(): return tf.constant(33)r = tf.cond(n1<n2,true_fn,false_fn)sess = tf.Session()print(sess.run(r))

print结果11

相当于实现了if n1<n2 and n3<n4:

后来发现,用 & 和 | 就行了

import tensorflow as tfn1 = tf.constant(True,tf.bool)n2 = tf.constant(False,tf.bool)r1 = n1 | n2r2 = n1 & n2sess = tf.Session()print(sess.run(r1))print(sess.run(r2))

import tensorflow as tfn1 = tf.constant(1)>tf.constant(0)n2 = tf.constant(1)<tf.constant(0)r1 = n1 | n2r2 = n1 & n2sess = tf.Session()print(sess.run(r1))print(sess.run(r2))

以上这篇Tensorflow tensor 数学运算和逻辑运算方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持真格学网。

基本使用 使用 TensorFlow,你必须明白 TensorFlow:使用图(graph)来表示计算任务.在被称之为 会话(Session)的上下文(context)中执行图.使用 tensor 表示数据.通过 变量(Variable)维护状态.使用 feed 和 fetch 可以为任意的操作内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • tensorflow轻松实现xor运算的方式
  • tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
  • tensorflow: 查看 tensor详细数值方法
  • 详解用tensorflow实现逻辑回归算法
  • tensorflow指定cpu与gpu运算的方法实现
  • python如何删除文件、目录
  • python 判断网络连通的实现方法
  • django认证系统实现自定义权限管理的方法
  • python(pys60)实现简单语音整点报时
  • python脚本替换指定行实现步骤
  • django中orm模型常用的字段的使用方法
  • python递归函数实例讲解
  • python使用mailbox打印电子邮件的方法
  • django 模型中的计算字段实例
  • python中调试或排错的五种方法示例
  • tensorflow属于什么层
  • matlab tensor toolbox怎么用
  • TensorFlow中的onehot有什么作用,为什么要使用onehot向量
  • 如何在iphone上运行tensorflow
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全vbsdos/bathtahtcpythonperl游戏相关vba远程脚本coldfusionruby专题autoitseraphzonepowershelllinux shellluagolangerlang其它首页tensorflow轻松实现xor运算的方式tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)tensorflow: 查看 tensor详细数值方法详解用tensorflow实现逻辑回归算法tensorflow指定cpu与gpu运算的方法实现python如何删除文件、目录python 判断网络连通的实现方法django认证系统实现自定义权限管理的方法python(pys60)实现简单语音整点报时python脚本替换指定行实现步骤django中orm模型常用的字段的使用方法python递归函数实例讲解python使用mailbox打印电子邮件的方法django 模型中的计算字段实例python中调试或排错的五种方法示例python入门教程 超详细1小时学会python 列表(list)操作方法详解python 元组(tuple)操作详解python 字典(dictionary)操作详解pycharm 使用心得(一)安装和首python strip()函数 介绍pycharm 2020最新永久激活码(附python 中文乱码问题深入分析python中使用xlrd、xlwt操作excepython科学计算环境推荐——anac浅析python实现scrapy定时执行爬虫python实现查找匹配项作处理后再替换回去python3 shutil(高级文件操作模块)实例wxpython多个窗口的基本结构使用python判断jpeg图片的完整性实例将pytorch模型从cpu转换成gpu的实现方法python发送http请求解析返回json的实例pyqt5 实现多窗口跳转的方法python实现目录树生成示例python 构造三维全零数组的方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved