1.这个问题是来自Tensorboard可视化过程中
2.embedding.assign(embedding_input)这个语句的用法是什么?
简单的讲,就是把embedding_input赋值给embedding,当然这里的量全是tensor
那为什么不使用简单的embedding = embedding_input呢?
因为一般来讲,完整的式子是:
assignment = embedding.assign(embedding_input)
表达的意思是:
用被embedding_input赋值的embedding传给assignment
这一个等式完成了多种运算,根据下面我给出的比较代码可以看出,sess.run(embedding)后发现,embedding的值也变了。
这其实和我们传统意义上对tensor的操作是不同的,比如tf.reshape()或embedding.reshape()
这种类型的语句并不会改变原来tensor的shape,而是通过
embedding = embedding.reshape()的形式间接改变变量shape的。
3.embedding.assign(embedding_input)与tf.assign(embedding ,embedding_input)是等效的操作
4.最后贴上这几个的对比代码(有详解):

import tensorflow as tf
import numpy as np
# assign用法
embedding_size = 3
embedding = tf.Variable(tf.zeros([1024, embedding_size]), name="test_embedding")
embedding_input = tf.Variable(tf.constant(1.0, shape=(1024, embedding_size)))
assignment = embedding.assign(embedding_input)  # 将embedding_input赋给embedding,然后embedding间接传给了assignment
a = np.random.random(size=[1024, embedding_size])  # 建立实际feed值
sess = tf.Session()  # 建立会话
b = sess.run(assignment, feed_dict={embedding_input: a})  # 执行给b赋值的功能,注意assignment仍是tensor
print(b)
c = sess.run(embedding)
print(c)  # 说明assign的操作可以让embedding的值改变# 换用tf.assign()也可以
embedding_size = 3
embedding = tf.Variable(tf.zeros([1024, embedding_size]), name="test_embedding")
embedding_input = tf.Variable(tf.constant(1.0, shape=(1024, embedding_size)))
assignment = tf.assign(embedding, embedding_input)  # 将embedding_input赋给embedding,然后embedding间接传给了assignment
a = np.random.random(size=[1024, embedding_size])  # 建立实际feed值
sess = tf.Session()  # 建立会话
b = sess.run(assignment, feed_dict={embedding_input: a})  # 执行给b赋值的功能,注意assignment仍是tensor
print(b)
# 如果在这里将上面的会话结束,则所有的值都会被清空
# sess.close()
c = sess.run(embedding)
print(c)  # 说明assign的操作可以让embedding的值改变# 对比下如果是像tf.reshape的函数,会改变吗
#%%
import tensorflow as tf
embedding_size = 3
embedding = tf.zeros([1024, embedding_size], name="test_embedding")
tf.reshape(embedding, shape=(32, 32, embedding_size))
sess = tf.Session()  # 建立会话
array = sess.run(embedding)
print(array.shape)
# 实验结果表明,embedding的shape并不会变为32,32,3
#%%# 其实直接赋值也可以
embedding_size = 3
# embedding = tf.Variable(tf.zeros([1024, embedding_size]), name="test_embedding")
embedding_input = tf.Variable(tf.constant(1.0, shape=(1024, embedding_size)))
# assignment = embedding.assign(embedding_input)  # 将embedding_input赋给embedding,然后embedding间接传给了assignment
assignment = embedding_input
a = np.random.random(size=[1024, embedding_size])  # 建立实际feed值
sess = tf.Session()  # 建立会话
b = sess.run(assignment, feed_dict={embedding_input: a})  # 执行给b赋值的功能,注意assignment仍是tensor
print(b)

5.本人现在的研究方向是:图像的语义分割,如果有志同道合的朋友,可以组队学习
haiyangpengai@gmail.com

embedding.assign(embedding_input)的解读相关推荐

  1. d3设置line长度_万物皆可Embedding之LINE算法解读

    需要论文的朋友可以后台私信我获取 前言 上一篇文章给大家带来了Graph Embedding技术中的代表算法Deepwalk,今天给大家介绍graph embedding又一代表算法--LINE,LI ...

  2. d3设置line长度_Graph Embedding之LINE算法解读

    需要论文的朋友可以后台私信我获取 前言 上一篇文章给大家带来了Graph Embedding技术中的代表算法Deepwalk,今天给大家介绍graph embedding又一代表算法--LINE,LI ...

  3. 那些TensorFlow上好玩的和黑科技

    那些TensorFlow上好玩的和黑科技 Google于2017年2月16日(北京时间)凌晨2点在美国加利福尼亚州山景城举办了首届TensorFlow开发者峰会.Google现场宣布全球领先的深度学习 ...

  4. 【转载】史上最全:TensorFlow 好玩的技术、应用和你不知道的黑科技

    [导读]TensorFlow 在 2015 年年底一出现就受到了极大的关注,经过一年多的发展,已经成为了在机器学习.深度学习项目中最受欢迎的框架之一.自发布以来,TensorFlow 不断在完善并增加 ...

  5. 论文解读:Hierarchical Topic Mining via Joint Spherical Tree and Text Embedding(通过联合球面树和文本进行的层次主题挖掘)

    本文是知识发现与数据挖掘的大作业,主要是对论文<Hierarchical Topic Mining via Joint Spherical Tree and Text Embedding> ...

  6. 神经网络架构搜索(NAS)综述 | 附AutoML资料推荐

    本文是一篇神经网络架构搜索综述文章,从 Search Space.Search Strategy.Performance Estimation Strategy 三个方面对架构搜索的工作进行了综述,几 ...

  7. 自然语言处理和计算机视觉相关论文总结

    自然语言处理 命名实体识别 论文名称 期刊/会议 时间 解读 特点 代码 Unified Named Entity Recognition as Word-Word Relation Classifi ...

  8. 论文解读:(TransH)Knowledge Graph Embedding by Translating on Hyperplanes

    转自: https://blog.csdn.net/qq_36426650/article/details/103336589?utm_medium=distribute.pc_relevant.no ...

  9. 【论文解读 ICLR 2020 | Jure Leskovec组】Query2box: Reasoning over KGs in Vector Space using Box Embedding

    论文题目:Query2box: Reasoning over Knowledge Graphs in Vector Space using Box Embeddings 论文来源:ICLR 2020 ...

最新文章

  1. 60、IPv6配置实验之RIP
  2. logicaldoc 6.5 结合postgresql 9.x安装部署—基于windows平台
  3. 撕起来了!谁说数据少就不能用深度学习?这锅俺不背!
  4. termux怎么安装python库_Python termux-apt-repo包_程序模块 - PyPI - Python中文网
  5. 太优秀了!GitHub 标星 40000+ 的大佬和他们的公众号
  6. android程序运行无操作一段时间显示屏保
  7. JavaScript基础总结(五)——Math对象
  8. 如何使用Puppeteer从任何网站创建自定义API
  9. SpringCloud入门之Maven系统安装及配置
  10. 标签select选择框通过js来选择默认值;代码示例
  11. lg android tv 手机助手,手机如何投屏到LG电视的教程来了!
  12. 小红书去水印代码_最新小红书视频去水印解析API接口
  13. wake on lan 实现远程开机(远程开关机程序)
  14. Nii切片->2D ndarray灰色图->PIL灰色图->PIL RGB彩色图
  15. 小型餐厅管理系统 java_小型餐饮管理系统的设计与实现(JSP,MySQL)
  16. Java开发报表——Grid++Report 报表设计器
  17. VB对IE浏览器完全控制
  18. 开源分布式存储系统的对比
  19. MySQL数据库-表的插入详解
  20. 【模拟 简易银行系统~python】

热门文章

  1. oracle time model,通过案例学调优之--OracleTimeModel(时间模型)
  2. oracle密码锁屏时间,Oracle Linux OEL7 如何关闭屏保和锁屏功能
  3. qcustomplot绘制热力图瀑布图_使用REmap绘制中国地图
  4. ~~Kruskal算法
  5. JNI编程中数据类型转换的方法
  6. 集合 (一) ----- 集合的基本概念与Collection集合详解
  7. Java基础复习——继承机制
  8. linux:C++的socket编程
  9. mysql Split函数
  10. TP框架中ajax post请求时提示404