TensorFlow常用函数介绍

后续会慢慢补充其他函数。

tf.squeeze()
squeeze(
    input,
    axis=None,
    name=None,
    squeeze_dims=None
)

该函数返回一个张量,这个张量是将原始input中所有维度为1的那些维都删掉的结果。
比如numpy中的行向量和列向量(若不懂numpy中的行向量与列向量,可以看博客:Numpy中的行向量与列向量),有一个维度为1,可以用axis指定维度为1的那一维,然后返回一个类似于list的一维的tensor。

import tensorflow as tf
import numpy as np

# tf版本是1.x

inputs = np.array([1, 2, 3]).reshape(-1, 1)   # 列向量

y = tf.squeeze(inputs, axis = 1)

sess = tf.Session()
sess.run(tf.global_variables_initializer())
print(inputs)
print(sess.run(y))

'''  
打印结果:
[[1]
 [2]
 [3]]
[1 2 3]
'''
tf.one_hot()
one_hot(indices, depth, on_value=None, off_value=None, axis=None, dtype=None, name=None)
  # Returns a one-hot tensor.

该函数返回一个one-hot Tensor,depth参数指定一个one-hot向量的长度,如果做分类任务,那么这个向量的长度就是类别数。indices参数指定one-hot向量的哪一个位置应该为1.

import tensorflow as tf
# tf版本是2.0

# 比如有4个类别,5个样本,
def m(x):
    print(tf.executing_eagerly())
    p = tf.one_hot([0,1,1,3,2], depth=x)
    print(p.numpy())
    
m(4)

'''
输出:

True
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 0. 1.]
 [0. 0. 1. 0.]]

'''
tf.reduce_sum()
tf.reduce_sum(
    input_tensor, 
    axis=None, 
    keepdims=None,
    name=None,
    reduction_indices=None, 
    keep_dims=None)

axis=0表示按照每一列求和,axis=1表示按照每一行求和,keep_dims=True表示保持原来的维度,比如原来是二维的,操作之后就是二维的,如果不加就会降维。

在这里插入图片描述

tensor.eval()

tensor.eval()其实就是tf.TensorSession.run()的另外一种写法,但两者有差别

  • eval(): 将字符串string对象转化为有效的表达式参与求值运算返回计算结果
  • eval()也是启动计算的一种方式。基于Tensorflow的基本原理,首先需要定义图,然后计算图,其中计算图的函数常见的有run()函数,如sess.run()。同样eval()也是此类函数,
  • 要注意的是,eval()只能用于tf.Tensor类对象,也就是有输出的Operation。对于没有输出的Operation, 可以用.run()或者Session.run();Session.run()没有这个限制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值