松鼠乐园 松鼠乐园
  • 注册
  • 登录
  • 首页
  • 快捷入口
    • Vue
    • Tensorflow
    • Springboot
    • 语言类
      • CSS
      • ES5
      • ES6
      • Go
      • Java
      • Javascript
    • 工具类
      • Git
      • 工具推荐
    • 服务器&运维
      • Centos
      • Docker
      • Linux
      • Mac
      • MySQL
      • Nginx
      • Redis
      • Windows
    • 资源类
      • 论文
      • 书籍推荐
      • 后端资源
      • 前端资源
      • html网页模板
      • 代码
    • 性能优化
    • 测试
  • 重大新闻
  • 人工智能
  • 开源项目
  • Vue2.0从零开始
  • 广场
首页 › Tensorflow › tensorflow几个函数用法

tensorflow几个函数用法

迦娜王
2年前Tensorflow
742 1 0

tf.sigmoid

y = 1/(1 + exp (-x))

tf.sigmoid函数具有以下所列的别名:

  • tf.nn.sigmoid
  • tf.sigmoid
sigmoid(
    x,
    name=None
)
import tensorflow as tf

a = tf.constant([[1.0, 2.0], [1.0, 2.0], [1.0, 2.0]])
sess = tf.Session()
print(sess.run(tf.sigmoid(a)))

结果:
[[ 0.7310586 0.88079703]
[ 0.7310586 0.88079703]
[ 0.7310586 0.88079703]]

tf.split

tf.split(
    value,
    num_or_size_splits,
    axis=0,
    num=None,
    name='split'
)

根据官方文档的说法这个函数的用途简单说就是把一个张量划分成几个子张量。
value:准备切分的张量
num_or_size_splits:准备切成几份
axis : 准备在第几个维度上进行切割
其中分割方式分为两种

  1. 如果num_or_size_splits 传入的 是一个整数,那直接在axis=D这个维度上把张量平均切分成几个小张量
  2. 如果num_or_size_splits 传入的是一个向量(这里向量各个元素的和要跟原本这个维度的数值相等)就根据这个向量有几个元素分为几项)
# 张量为(5, 30)
# 这个时候5是axis=0, 30是axis=1,如果要在axis=1这个维度上把这个张量拆分成三个子张量
#传入向量时
split0, split1, split2 = tf.split(value, [4, 15, 11], 1)
tf.shape(split0)  # [5, 4]
tf.shape(split1)  # [5, 15]
tf.shape(split2)  # [5, 11]
# 传入整数时
split0, split1, split2 = tf.split(value, num_or_size_splits=3, axis=1)
tf.shape(split0)  # [5, 10]

tf.range

range(limit, delta=1, dtype=None, name='range')
range(start, limit, delta=1, dtype=None, name='range')

例子

#-*-coding:utf-8-*-

import tensorflow as tf

x=tf.range(8.0, 13.0, 2.0)
y=tf.range(10, 15)
z=tf.range(3, 1, -0.5)
w=tf.range(3)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
print (sess.run(x))#输出[  8.  10.  12.]
print (sess.run(y))#输出[10 11 12 13 14]
print (sess.run(z))#输出[ 3.   2.5  2.   1.5]
print (sess.run(w))#输出[0 1 2]

tf.meshgrid

meshgrid用于从数组a和b产生网格。生成的网格矩阵A和B大小是相同的。它也可以是更高维的。用法: [A,B]=Meshgrid(a,b),生成size(b)Xsize(a)大小的矩阵A和B。它相当于a从一行重复增加到size(b)行,把b转置成一列再重复增加到size(a)列。

a=[0,5,10]
b=[0,5,15,20,25]
A,B=tf.meshgrid(a,b)
with tf.Session() as sess:
  print (A.eval())
  print (B.eval())
 
结果:
[[ 0  5 10]
 [ 0  5 10]
 [ 0  5 10]
 [ 0  5 10]
 [ 0  5 10]]
[[ 0  0  0]
 [ 5  5  5]
 [15 15 15]
 [20 20 20]
 [25 25 25]]

tf.exp

y = e^x

tf.exp tf.meshgrid tf.range tf.sigmoid tf.split
0
本文系作者 @迦娜王 原创发布在 松鼠乐园。未经许可,禁止转载。
五个一定要了解的深度学习框架
上一篇
yolov3论文中英对照版
下一篇
评论 (1)

请登录以参与评论。

现在登录
  • 矩尹

    good

    2年前
  • tf.sigmoid
  • tf.split
  • tf.range
  • tf.meshgrid
  • tf.exp
1
相关文章
TF 2.0的中文深度学习开源书来了!GitHub趋势榜第一,斩获2K星
PyTorch横扫顶会,TensorFlow退守业界:机器学习框架一年变天
高性能深度学习支持引擎实战——TensorRT
TensorFlow 2.0 Alpha 版来了!吴恩达配套课程同步上线
松鼠乐园

资源整合,创造价值

小伙伴
墨魇博客 无同创意
目录
重大新闻 Centos CSS Docker ES5 ES6 Go Java Javascript Linux Mac MySQL Nginx Redis Springboot Tensorflow Vue Vue2.x从零开始 Windows 书籍推荐 人工智能 前端资源 后端资源 壁纸 开源项目 测试 论文
Copyright © 2018-2021 松鼠乐园. Designed by nicetheme. 浙ICP备15039601号-4
  • 重大新闻
  • Centos
  • CSS
  • Docker
  • ES5
  • ES6
  • Go
  • Java
  • Javascript
  • Linux
  • Mac
  • MySQL
  • Nginx
  • Redis
  • Springboot
  • Tensorflow
  • Vue
  • Vue2.x从零开始
  • Windows
  • 书籍推荐
  • 人工智能
  • 前端资源
  • 后端资源
  • 壁纸
  • 开源项目
  • 测试
  • 论文
热门搜索
  • jetson nano
  • vue
  • java
  • mysql
  • 人工智能
  • 人脸识别
迦娜王
坚持才有希望
1224 文章
33 评论
233 喜欢
  • 0
  • 1
  • Top