Python之TensorFlow基本运算

1.TensorFlow运行:输入两个浮点数,并对其相乘输出结果。

import tensorflow as tf
a = tf.placeholder("float")
b = tf.placeholder("float")
y = tf.multiply(a,b) #构造一个op节点
sess = tf.Session()#建立会话
#运行会话,输入数据,并计算节点,同时打印结果
print(sess.run(y, feed_dict={a: 3, b: 3}))
# 任务完成, 关闭会话.
sess.close()

2.TensorFlow中的数学计算:加减乘除平方开放等,TensorFlow中的计算可以针对单个数也可以是数组、Tensor等。

import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
#参数类型定义
a = tf.placeholder("float")
b = tf.placeholder("float")
c=[0.5,2.51,2.3,-4.4]
d=[1,3,1,2.2]
#TensorFlow中的计算可以针对单个数也可以是数组、Tensor等
#构造一个op节点
# y=tf.add(a,b)#加
# y=tf.subtract(a,b)#减
# y = tf.multiply(a,b) #乘
# y=tf.div(a,b)#除
# y=tf.mod(a,b)#取模
# y=tf.abs(a)#取整
# y=tf.negative(a)#取负y=-x
# y=tf.sign(a)# -1 if x < 0; 0 if x == 0; 1 if x > 0
# y=tf.negative(a)#取反
# y=tf.square(a)#平方
# y=tf.round(c)#5舍弃6入
# y=tf.sqrt(a)#开平方
# y=tf.pow(c,a)#平方
# y=tf.exp(c)#计算e的次方
# y=tf.log(c)#计算log,一个输入计算e的ln,再输入以第二个为底
# y=tf.maximum(a,b)#返回最大值
# y=tf.minimum(c,d)#返回最小值
# y=tf.cos(a)#计算三角函数cos
# y=tf.sin(b)#计算三角函数sin
# y=tf.tan(a)#计算三角函数tan
# y=tf.atan(a)#计算三角函数arctan
e='asdf'
y=tf.substr(e,1,2)#字符串截取,从第一位开始,截取两位
sess = tf.Session()#建立会话
#运行会话,输入数据,并计算节点,同时打印结果
print(sess.run(y, feed_dict={a: 45, b: 10}))#输入两个参数
# print(sess.run(y,feed_dict={a:1}))#输入一个参数
# print(sess.run(y))#不需要在此输入参数
# 任务完成, 关闭会话.
sess.close()

3.数据转化:tf.cast第一个参数,输入要转化的数据,第二个参数,要转化成的数据类型

import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
#参数类型定义
a = tf.placeholder("float")
b = tf.placeholder("float")
c=[0.9,2.51,2.3,-4.4]
d=[1,3,1,2.2]
e='123'
# y=tf.string_to_number(e,out_type=tf.int32)#字符转数组
# y=tf.to_bfloat16(d)
# y=tf.to_double(d)
# y=tf.to_float(d)
# y=tf.to_int32(c)#舍弃小数后面的
# y=tf.to_int64(c)
# y=tf.to_complex64(d)#复数形式
# y=tf.to_complex128(d)
#tf.cast第一个参数,输入要转化的数据,第二个参数,要转化成的数据类型
y=tf.cast(d,dtype=tf.float32)
sess = tf.Session()#建立会话
#运行会话,输入数据,并计算节点,同时打印结果
print(sess.run(y, feed_dict={a: 45, b: 10}))#输入两个参数
# print(sess.run(y,feed_dict={a:1}))#输入一个参数
# print(sess.run(y))#不需要在此输入参数
# 任务完成, 关闭会话.
sess.close()

4.矩阵数组相关操作:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
#参数类型定义
a=[[[1, 1, 1], [2, 2, 2]], [[3, 3 ,3], [4, 4 ,4]]]
b=[1,2,3,4,5,6,7,8,9]
b1=[2,2,3,4,5,6,7,8,0]
c=[[1,2,3],[4,5,6]]
d= [[1,2,3],[4,5,6],[1,5,9]]
e=[[1,2,1],[1,2,3],[2,4,6]]
# y=tf.shape(b)#查看数据形状
# y=tf.size(a)#返回数据的数量
# y=tf.rank(a)#查看数组维数,tensor的rank表示一个tensor需要的索引数目来唯一表示任何一个元素
# y=tf.reshape(b,[3,3])#改变数组形状
# y=tf.diag(b)#返回一个给定对角值的对角tensor
# y=tf.diag_part(y)#与diag相反,提取矩阵对角线的值,存放在一维数组中
# y=tf.trace(y)#求一个2维tensor足迹,即对角值diagonal之和
# y=tf.transpose(c)#调换tensor的维度顺序按照列表perm的维度排列调换tensor顺序,
# y=tf.matmul(d,e)#矩阵相乘,要注意矩阵的维数,mul是按照元素计算
# y=tf.slice(a, [1,0,0], [1,1,3], name=None)#矩阵切片,第一个参数,切片的矩阵,其二个参数切的起始位置,第三个参数,切的终止位置
# x1=[1,4]
# y1=[2,5]
# z1=[3,6]
# y=tf.stack([x1,y1,z1],name='pack',axis=1)#axis默认0,直接打包成二维矩阵,axis=1沿着第一位打包成二维矩阵
# y=tf.unstack(y)#与stack相反
# y=tf.stack([d,e],name='concat',axis=0)#沿着某一维度连接矩阵,axis=0,axis=1
# import numpy as np
# test=np.zeros((1,10,10,3),dtype=np.float32)#通过bp.zeros创建矩阵10*10
# test=tf.zeros([1,10,10,3],tf.float32)#通过tf中的zeros来生成数组
# y=tf.convert_to_tensor(test)#转化成Tensor形式
# y=tf.constant([[1, 2, 3], [4, 5, 6]],tf.float32)#生成一个给定值的常量

# x=[[1,2,3],[4,5,6]]
# y=tf.reduce_sum(x,axis=0)#axis=0,=1将数组沿不同方向相加,如果没有axis则输出所有值得和同axis=[0,1]
# y=tf.reduce_mean(x)#求均值
# y=tf.reduce_prod(x)#所有元素乘积
# y=tf.reduce_max(x)#找出最大值
# y=tf.reduce_min(x)#找出最小值
# y=tf.accumulate_n([x,x,x])#求一系列Tensor的和
##[x,x,x]=a,b,c
# y=tf.cumsum([x,x,x])#求累加和, [a, a + b, a + b + c]
# y=tf.cumsum([x,x,x],exclusive=True)#求累加和, [0, a, a + b]
# y=tf.cumsum([x,x,x],reverse=True)#求累加和, [a+b+c, b + c,c]
# y=tf.cumsum([x,x,x],exclusive=True,reverse=True)#求累加和, [b+c, c,0]
#z=[2,5,8,8,5,9]
#y=tf.unique(z)#返回一个元组tuple(y,idx),y为x的列表的唯一化数据列表,idx为x数据对应y元素的index
y=tf.equal(b,b1)

sess = tf.Session()#建立会话
#运行会话,输入数据,并计算节点,同时打印结果
print(sess.run(y))#不需要在此输入参数
# 任务完成, 关闭会话.
sess.close()

      参考博客:http://www.cnblogs.com/focusonepoint/p/7544369.html

      其中有较为详细的处理基本上述说到的其他一下操作,连接中的一些函数是之前的版本,已更改成现在版本TensorFlow的相关函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值