pytorch 和 tensorflow2.0 方法替换

Embedding初始化

pytorch: Embedding()
tf2.0: random.normal()

# 验证均值和方差
def confirm(weight):mean = np.sum(weight) / dimprint("均值: {}".format(mean))square_sum = np.sum((mean - weight) ** 2)print("方差: {}".format(square_sum / dim))dim = 1000000  # dim越大,均值、方差越接近0和1embd = nn.Embedding(5, dim) # 默认 训练参数服从(0,1)正态分布
weight = embd.weight.data[0].numpy()
confirm(weight)embd2 = tf.Variable(tf.random.normal([5, dim]))  # 设置为(0,1)正态分布
weight2 = embd2.numpy()[0]
confirm(weight2)

张量初始化

pytorch: xavier_uniform_()
tf2.0: GlorotUniform()

def confirm(weight):mean = np.sum(weight) / dimprint("均值: {}".format(mean))square_sum = np.sum((mean - weight) ** 2)print("方差: {}".format(square_sum / dim))dim = 1000000  w = nn.Parameter(torch.zeros(size=(3, dim)))
nn.init.xavier_uniform_(w.data)
weight = w.data[0].numpy()
confirm(weight)initializer = tf.initializers.GlorotUniform()
w2 = tf.Variable(initializer(shape=[3, dim]))
weight2 = w2[0].numpy()
confirm(weight2)

多分类交叉熵损失

pytorch: CrossEntropyLoss()
tf2.0: categorical_crossentropy()

input = np.random.random((3,3))
input_p = torch.tensor(input)
input_t = tf.convert_to_tensor(input)target_p = torch.tensor([1,2,2])
target_t1 = tf.keras.utils.to_categorical([1,2,2])
target_t2 = tf.constant([1,2,2])
target_t3 = tf.one_hot([1,2,2], depth=3)p_f = torch.nn.CrossEntropyLoss()
loss1 = p_f(input_p,target_p)
print(loss1)# 方法一
loss2 = tf.losses.categorical_crossentropy(y_true=target_t1,y_pred=tf.nn.softmax(input_t,axis=1))
print(tf.reduce_mean(loss2))# 方法二
loss3 = tf.keras.losses.sparse_categorical_crossentropy(y_true=target_t2, y_pred=tf.nn.softmax(input_t,axis=1))
print(tf.reduce_mean(loss3))# 方法三
loss4 = tf.keras.losses.categorical_crossentropy(y_true=target_t3, y_pred=tf.nn.softmax(input_t,axis=1))
print(tf.reduce_mean(loss4))

二分类交叉熵损失

pytorch: BCEWithLogitsLoss()
tf2.0: sigmoid_cross_entropy_with_logits()

input = np.random.random((3,3))
input_p = torch.tensor(input)
input_t = tf.convert_to_tensor(input)target = np.array([[0.,1.,1.],[0.,0.,1.],[1.,0.,1.]])
target_p = torch.tensor(target)
target_t = tf.convert_to_tensor(target)p_f = torch.nn.BCEWithLogitsLoss()
loss1 = p_f(input_p,target_p)
print(loss1)# 方法一
loss2 = tf.nn.sigmoid_cross_entropy_with_logits(logits=input_t, labels=target_t)
print(tf.reduce_mean(loss2))# 方法二
loss_fn = tf.keras.losses.BinaryCrossentropy(from_logits=True)
loss3 = loss_fn(y_true=target_t, y_pred=input_t)
print(tf.reduce_mean(loss3))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479505.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React Native在美团外卖客户端的实践

MRN简介 MRN(Meituan React Native) 是基于开源的React Native框架改造并完善而成的一套动态化方案,在开发体验上基本能与原生RN保持一致,同时从业务需求的角度满足从开发、构建、测试、部署、运维的工程化需要。解决了一系列痛点…

论文浅尝 | 使用预训练深度模型和迁移学习方法的端到端模糊实体匹配

论文笔记整理:高凤宁,南京大学硕士,研究方向为知识图谱、实体消解。链接:https://doi.org/10.1145/3308558.3313578动机目前实体匹配过程中实体之间的差异比较微妙,不同的情况下可能会有不同的决策结果,导致…

推荐几个Android开发非常有用的工具(for android studio)

原文地址: http://stormzhang.com/android/2015/05/26/android-tools/ 一晃好久没更新博客了,最近一个月真的很忙,因为公司在准备C轮融资,公司的发展到了一个关键的阶段,自己全部精力投入在公司产品上,这个状态可能还会…

分布式机器学习(下)-联邦学习

原文链接:https://zhuanlan.zhihu.com/p/114028503 本视频来源于Shusen Wang讲解的《分布式机器学习》,总共有三讲,内容和连接如下:并行计算与机器学习(上)并行计算与机器学习(下)联…

LeetCode 8. 字符串转换整数 (atoi)

文章目录1. 题目2. 解题1. 题目 示例 1: 输入: "42" 输出: 42示例 2: 输入: " -42" 输出: -42 解释: 第一个非空白字符为 -, 它是一个负号。我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。示例 3: 输入: "4193 w…

怎样将Embedding融入传统机器学习框架?

文 | 石塔西源 | 知乎LR本身是一个经典的CTR模型,广泛应用于推荐/广告系统。输入的特征大多数是离散型/组合型。那么对于Embedding技术,如何在不使用深度学习模型的情况下(假设就是不能用DNN),融入到LR框架中呢&#x…

推荐系统中的Embedding

推荐系统之Embedding一、什么是embedding?1. 让embedding空前流行的word2vec:2. 从word2vec到item2vec二、Graph Embedding1. 经典的Graph Embedding方法 — DeepWalk2. DeepWalk改进 — Node2vec3. 阿里的Graph Embedding方法EGES三、深度学习推荐系统中…

美团下一代服务治理系统 OCTO 2.0 的探索与实践

本文根据美团基础架构部服务治理团队工程师郭继东在2019 QCon(全球软件开发大会)上的演讲内容整理而成,主要阐述美团大规模治理体系结合 Service Mesh 演进的探索实践,希望对从事此领域的同学有所帮助。 一、OCTO 现状分析 OCTO 是…

技术动态 | 跨句多元关系抽取

本文转载自公众号&#xff1a;知识工场。第一部分 概述关系抽取简介关系抽取是从自由文本中获取实体间所具有的语义关系。这种语义关系常以三元组 <E1,R,E2> 的形式表达&#xff0c;其中&#xff0c;E1 和E2 表示实体&#xff0c;R 表示实体间所具有的语义关系。如图1所示…

JAVA1.6实现动态编译加载运行

一直以为我们写好的程序都需要预先编译好&#xff0c;然后再运行&#xff0c;直到今天在看书的时候才看到书上说JAVA1.6之后可以动态的编译JAVA文件&#xff0c;这着实让我高兴了一把&#xff0c;为什么这么兴奋呢&#xff0c;我一心想着能用技术实现动态更新APK&#xff0c;不…

网络解析(一):LeNet-5详解

原文链接&#xff1a;https://cuijiahua.com/blog/2018/01/dl_3.html 2018年1月9日21:03:313994,282 C摘要LeNet-5出自论文Gradient-Based Learning Applied to Document Recognition&#xff0c;是一种用于手写体字符识别的非常高效的卷积神经网络。一、前言LeNet-5出自论文Gr…

LeetCode 69. x 的平方根(二分查找)

文章目录1. 题目2.解题2.1 二分查找2.2 牛顿迭代1. 题目 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根&#xff0c;其中 x 是非负整数。 由于返回类型是整数&#xff0c;结果只保留整数的部分&#xff0c;小数部分将被舍去。 示例 1:输入: 4 输出: 2 示例 2:输入: 8…

(设计模式)简单工厂模式之通过配置文件动态创建实现类

通常我们在使用简单工厂模式的时候会由创建方法create通过传入的参数来判断要实例化哪个对象&#xff0c;就像下面这样&#xff1a; public static class ImageSelectFactory {public static IImageSelect createIImageSelect(ImageSelectClientMode mode) {IImageSelect image…

Google综述:细数Transformer模型的17大高效变种

文 | 黄浴来源 | 知乎在NLP领域transformer已经是成功地取代了RNN&#xff08;LSTM/GRU&#xff09;&#xff0c;在CV领域也出现了应用&#xff0c;比如目标检测和图像加注&#xff0c;还有RL领域。这是一篇谷歌2020年9月份在arXiv发表的综述论文 “Efficient Transformers: A …

Tensorflow2.0模型构建与训练

模型构建 class Encoder(layers.Layer):def __init__(self, latent_dim32, intermediate_dim64, name"encoder", **kwargs):super(Encoder, self).__init__(namename, **kwargs)w_init tf.random_normal_initializer()self.w tf.Variable(initial_valuew_init(shap…

从ReentrantLock的实现看AQS的原理及应用

前言 Java中的大部分同步类&#xff08;Lock、Semaphore、ReentrantLock等&#xff09;都是基于AbstractQueuedSynchronizer&#xff08;简称为AQS&#xff09;实现的。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。本文会从应用层逐渐深入到…

论文浅尝 | 利用知识-意识阅读器改进的不完整知识图谱问答方法

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生&#xff0c;研究方向为知识库问答。来源&#xff1a;ACL2019链接&#xff1a;https://www.aclweb.org/anthology/P19-1417/本文提出了一种融合不完整知识图谱与文档集信息的end2end问答模型&#xff0c;旨在利用结构…

机器学习十大经典算法之岭回归和LASSO回归

机器学习十大经典算法之岭回归和LASSO回归&#xff08;学习笔记整理:https://blog.csdn.net/weixin_43374551/article/details/83688913

MVP模式在Android中的应用(附UML高清大图,使用RecyclerView举例)

传了一张图&#xff0c;图比较大&#xff0c;请移步下载&#xff1a;http://download.csdn.net/detail/u011064099/9266245 在看代码之前&#xff0c;首先简单看一下什么是MVP模式&#xff1a;http://www.cnblogs.com/end/archive/2011/06/02/2068512.html MVP最核心就是将界面…

Facebook大公开:解决NLG模型落地难题!工业界的新一波春天?

文 | 小喂老师编 | 小轶作为NLP领域的“三高”用户&#xff08;高产、高能、高钞&#xff09;&#xff0c;FaceBook最近&#xff08;2020年11月&#xff09;又发表了一篇高水准文章&#xff0c;目前已被COLING-2020接收&#xff0c;号称解决了自然语言生成&#xff08;NLG&…