Tensorflow2.0——基础

Tensorflow基础

Tensorflow数据类型

  • scalar:标量1.1
  • vector:向量[1.1],[1.1,2.2]
  • matrix:矩阵[[1.1,2.2],[3.3,4.4]]
  • tensor:所有数据类型
  • int、float、double
  • bool、string
    【基本操作】
    在这里插入图片描述在这里插入图片描述
    【数据类型转换】
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

创建tensor

  • from numpy、list;
  • zeros、ones;
  • fill;
  • random;
  • constant;
  • Application

1.from numpy、list
在这里插入图片描述2.tf.zeros、tf.ones
在这里插入图片描述在这里插入图片描述

在这里插入图片描述3.normal(正态分布)
在这里插入图片描述
4.Uniform(均匀分布)
在这里插入图片描述

Typical Dim Data

1.Scalar:[]
例:Loss
在这里插入图片描述2.Vector:[1,2,3,4…]
在这里插入图片描述3.Matrix
input x:[b, vec_dim]
weight:[input_dim,output_dim]
在这里插入图片描述
4.Dim=3 Tensor
词向量:x:[b, seq_len, word_dim]
b:语句个数;seq_len:语句所含词语数;word_dim:每个词向量的长度
在这里插入图片描述5.Dim=4 Tensor
Image:[b, h, w, 3]
feature maps:[b, h, w, c]
b:图片个数;h:高度;w:宽度;c:通道数
在这里插入图片描述
6.Dim=5 Tensor
Single task:[b, h, w, 3]
meta_task:[task_b, b, h, w, 3]

Tensorflow基本操作

索引和切片

1.索引
在这里插入图片描述
start: end: step
在这里插入图片描述
倒序采样:
在这里插入图片描述省略号:…
在这里插入图片描述
2.tf.gather
data:[classes, students, subjects]
[4, 35, 8]
(1)tf.gather
在这里插入图片描述
(2)tf.gather_nd
在这里插入图片描述
(3)tf.boolean_mask
在这里插入图片描述

维度变化

1.reshape
在这里插入图片描述在这里插入图片描述
reshape有时会导致潜在的问题,容易造成维度混乱,一定小心使用。
2.tf.tranpose 指定维度转换
在这里插入图片描述
3.Expand Dim
在这里插入图片描述在这里插入图片描述
4.Squeeze Dim
在这里插入图片描述

Broadcasting

在这里插入图片描述
注意:维度匹配,从最后一个维度(最小的)开始。
如果维度为1就变成相同的;如果没有维度就增加一个维度变成相同的;否则,如果不同就不可转变。
1.Broadcasting
在这里插入图片描述
2.tf.broadcast_to
在这里插入图片描述
3.Broadcast VS Tile
在这里插入图片描述

数学运算

  • ±*/, //, %
  • **, pow, square, sqrt
  • exp, log
  • @, matmul
  • linear layer

1.tf.math.log 、tf.exp
在这里插入图片描述
【log2或log10,底数放在后面】
在这里插入图片描述
2.pow、sqrt
在这里插入图片描述
3.@、mutmul
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
去年,谷歌发布了 Google Neural Machine Translation (GNMT),即谷歌神经机器翻译,一个 sequence-to-sequence (“seq2seq”) 的模型。现在,它已经用于谷歌翻译的产品系统。   虽然消费者感受到的提升并不十分明显,谷歌宣称,GNMT 对翻译质量带来了巨大飞跃。   但谷歌想做的显然不止于此。其在官方博客表示:“由于外部研究人员无法获取训练这些模型的框架,GNMT 的影响力受到了束缚。”   如何把该技术的影响力最大化?答案只有一个——开源。   因而,谷歌于昨晚发布了 tf-seq2seq —— 基于 TensorFlow 的 seq2seq 框架。谷歌表示,它使开发者试验 seq2seq 模型变得更方便,更容易达到一流的效果。另外,tf-seq2seq 的代码库很干净并且模块化,保留了全部的测试覆盖,并把所有功能写入文件。   该框架支持标准 seq2seq 模型的多种配置,比如编码器/解码器的深度、注意力机制(attention mechanism)、RNN 单元类型以及 beam size。这样的多功能性,能帮助研究人员找到最优的超参数,也使它超过了其他框架。详情请参考谷歌论文《Massive Exploration of Neural Machine Translation Architectures》。   上图所示,是一个从中文到英文的 seq2seq 翻译模型。每一个时间步骤,编码器接收一个汉字以及它的上一个状态(黑色箭头),然后生成输出矢量(蓝色箭头)。下一步,解码器一个词一个词地生成英语翻译。在每一个时间步骤,解码器接收上一个字词、上一个状态、所有编码器的加权输出和,以生成下一个英语词汇。雷锋网(公众号:雷锋网)提醒,在谷歌的执行中,他们使用 wordpieces 来处理生僻字词。   据雷锋网了解,除了机器翻译,tf-seq2seq 还能被应用到其他 sequence-to-sequence 任务上;即任何给定输入顺序、需要学习输出顺序的任务。这包括 machine summarization、图像抓取、语音识别、对话建模。谷歌自承,在设计该框架时可以说是十分地仔细,才能维持这个层次的广适性,并提供人性化的教程、预处理数据以及其他的机器翻译功能。   谷歌在博客表示: “我们希望,你会用 tf-seq2seq 来加速(或起步)你的深度学习研究。我们欢迎你对 GitHub 资源库的贡献。有一系列公开的问题需要你的帮助!”   GitHub 地址:https://github.com/google/seq2seq   GitHub 资源库:https://google.github.io/seq2seq/nmt/ 标签:tensorflow  seq2seq  谷歌  机器学习

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值