Uniform

Word Embedding 稳定性研究

白昼怎懂夜的黑 提交于 2020-03-23 21:48:42
3 月,跳不动了?>>> 我们在production的系统里面会遇到一个问题,模型如何处理新进来的数据。重新训练的话下游的prediction可能会非常不一样,但是我们不知道到底怎么不一样。之前在MLSys 2020 看到了这个关于稳定心的文章,所以跟大家分享一下。这个paper尝试总结retraining对embedding的影响到底有多大,原文在这里 https://proceedings.mlsys.org/static/paper_files/mlsys/2020/104-Paper.pdf ​ proceedings.mlsys.org 既然我们要讨论稳定性,我们得先给一个稳定性的定义 这个定义的逻辑本身是根据下游的task来定义上游够不够稳定,如果完全稳定的话下游的模型就不用retrain了。这里文章讲用zero one可能是因为讨论的是NLP的问题,假设是ctr的话这种zero one loss就不合理。 对于word embedding的算法,文中用了三种 Matrix Completion GloVE word2vec quantization用的是uniform quantization,原文在这里 https://arxiv.org/pdf/1909.01264.pdf ​ arxiv.org Embedding distance 的算法文中也用了几个来做比较

Unity3D法线转换与切线空间总结

空扰寡人 提交于 2020-03-23 20:48:40
3 月,跳不动了?>>> 本篇为大家总结了Unity3D中的法线转换与切线空间知识。在Shader编程中经常会使用一些矩阵变换函数接口,其实它就是把固定流水线中的矩阵变换转移到了可编程流水线或者说GPU中,先看下面的函数语句: // Transform the normal from object space to world space o.worldNormal = mul(v.normal, (float3x3)_World2Object); 在这里先给大家介绍一下,为何使用此函数,模型的顶点法线是位于模型空间下的,因此我们首先需要把法线转换到世界空间中。计算方式可以使用顶点变换矩阵的逆转置矩阵对法线进行相同的变换,因此我们首先得到模型空间到世界空间的变换矩阵的逆矩阵_World2Object,然后通过调换它在mul函数中的位置,得到和转置矩阵相同的矩阵乘法。由于法线是一个三维矢量,因此我们只需要截取_World2Object的前三行前三列即可。下面给大家展示变换Shader代码。 由于光源方向、视角方向大多都是在世界空间下定义的,所以问题就是如何把它们从世界空间变换到切线空间下。我们可以先得到世界空间中切线空间的三个坐标轴的方向表示,然后把它们按列摆放,就可以得到从切线空间到世界空间的变换矩阵,那么再对这个矩阵求逆就可以得到从世界空间到切线空间的变换: /// ///

仿射变换

て烟熏妆下的殇ゞ 提交于 2020-03-11 10:47:00
数学基础参考博客: https://www.cnblogs.com/shine-lee/p/10950963.html 平移 (translation)和 旋转 (rotation)顾名思义,两者的组合称之为 欧式变换 (Euclidean transformation)或 刚体变换 (rigid transformation); 放缩 (scaling)可进一步分为 uniform scaling 和 non-uniform scaling ,前者每个坐标轴放缩系数相同(各向同性),后者不同;如果放缩系数为负,则会叠加上 反射 (reflection)——reflection可以看成是特殊的scaling; 刚体变换+uniform scaling 称之为, 相似变换 (similarity transformation),即平移+旋转+各向同性的放缩; 剪切变换 (shear mapping)将所有点沿某一指定方向成比例地平移,语言描述不如上面图示直观。 hancol代码实现: 来源: oschina 链接: https://my.oschina.net/u/4228078/blog/3191516

序列应用——猜单词游戏

旧街凉风 提交于 2020-03-03 15:47:00
开发工具:Visual Studio Code 1.游戏介绍 猜单词游戏就是计筧机随机产生一个单词,打乱字母顺序,供玩家去猜测。此游戏采用控制字符界面. 2.程序设计思路 游戏中,可使用序列中的元组存储所有待猜测的单词。因为猜单词游戏需要随机产生某个待猜测单词以及随机数字,所以引入random模块随机数函数。其中,random.choice()可以从序列中随机选取元素。 在游戏中,随机挑出一个单词word后,把单词word的字母顺序打乱的方法是随机单词字符串中选择一个位置position,把position位置的字母加入乱序后的单词jumble,同时将原单词word中position位置的那个字母删去(通过连接position位置前字符串和其后字符串实现)。通过多次循环就可以产生乱序后的新单词jumble。 3.random模块 random模块可以产生一个随机数或者从序列中获取一个随机元素。它的常用方法和用例子如下。 random.random random.random()用于生成一个范围在0-1的随机小数n,(0≤n<1.0)。 random.uniform random.uniform(a,b)用于生成一个指定范围内的随机小数,在两个参数中,一个是上限,一个是下限。如果a<b,则生成的随机数J2满足条件a≤n≤b;如果a>b,则b≤n≤a。 random.randint

如何获得浮动范围之间的随机数?

元气小坏坏 提交于 2020-02-28 07:25:44
randrange(start, stop) 仅接受整数参数。 那么,如何在两个浮点值之间获得一个随机数呢? #1楼 如果您想生成一个随机浮点数,该浮点数的右边是N个数字,则可以执行以下操作: round(random.uniform(1,2), N) 第二个参数是小数位数。 #2楼 使用 random.uniform(a,b) : >>> random.uniform(1.5, 1.9) 1.8733202628557872 #3楼 random.uniform(a, b) 似乎是您想要的。 从文档: 返回一个随机浮点数N,对于a <= b,a <= N <= b,对于b <a,b <= N <= a。 看 这里 。 来源: oschina 链接: https://my.oschina.net/u/3797416/blog/3168631

关于图像与图形编程接口之区别

时光怂恿深爱的人放手 提交于 2020-02-27 08:13:25
图像 图像文件如JPG、PNG格式文件中存储的各个像素对应的RBGA值,我们可以通过Python、Matlab对图像文件读入并处理像素获得需要的处理数据。 图形编程接口 你也许尝试使用过 Qt GUI 、 C# 窗口程序,通过各种接口可以很方便地在窗口程序中创建一个按钮、文本框,如果你了解窗口程序的运行,你会知道每个窗口程序有专门的UI线程(UI Thread)用来负责绘制(paint)、刷新(reflesh)窗口程序展现的内容,上文提到的按钮、文本框这些控件(widget)就是通过UI Thread绘制到窗口程序中并最终呈现在显示屏上。 以上的绘制过程并没有显卡的参与,准确说,是通过CPU与内存进行运算、存储的。 注:当然,Qt中的Qt Quick框架中运用了硬件加速(显卡参与计算),所以能制作出很酷炫的粒子效果等 学C#窗口程序的人可能脑子里会有很多想法,比如能否直接在C#窗口程序中制作一个动作游戏? 答案是完全可以。 你只需要画出素材,编写按键事件即可。当然这仅限于制作一些小游戏。我估计做出的效果应该和小时候玩的Flash游戏差不多。 如果你想做对场景要求很大的游戏或多媒体程序比如一个3D建模,那C#窗口程序就吃不消了,原因是C#窗口程序的绘制是使用CPU进行计算的,CPU的运算单元很有限而且低效(CPU是串行设计),而一个3D模型有几千上万个顶点(vertex)

【模块五】网络编程篇--基础篇☞参考答案

我的梦境 提交于 2020-02-27 01:14:58
一、国际标准化组织(ISO)七层网络模型 网络 由下往上 分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层 第一层 物理层 作用:负责最后将信息编码成电流脉冲或其它信号用于网上传输。它由计算机和网络介质之间的实际界面组成,可定义电气信号、符号、线的状态和时钟要求、数据编码和数据传输用的连接器。所有比物理层高的层都通过事先定义好的接口而与它通话。 协议:如最常用的RS-232规范、10BASE-T的曼彻斯特编码以及RJ-45就属于第一层。 第二层 数据链路层 作用:数据链路层通过物理网络链路提供可靠的数据传输。 协议:ATM,FDDI等。 第三层 网络层 作用:这层对端到端的包传输进行定义,他定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。 协议:IP,IPX等 第四层 传输层 作用:传输层向高层提供可靠的端到端的网络数据流服务。传输层的功能一般包括流控、多路传输、虚电路管理及差错校验和恢复。流控管理设备之间的数据传输,确保传输设备不发送比接收设备处理能力大的数据;多路传输使得多个应用程序的数据可以传输到一个物理链路上;虚电路由传输层建立、维护和终止;差错校验包括为检测传输错误而建立的各种不同结构;而差错恢复包括所采取的行动(如请求数据重发)

Python random() 函数 随机数的生成

筅森魡賤 提交于 2020-02-26 22:03:15
random是python自带的模块,主要用于生成随机数,使用前需要导入。 常用的方法如下: import random #用于生成一个0到1之间的随机浮点数 print(random.random()) #0.409012911984 # 用于生成一个指定范围内的随机浮点数 print(random.uniform(1, 3)) #1.01152959423 # 两个参数一个是上限,一个是下限。 print(random.uniform(3, 1)) #1.97381712043 # 用于生成一个指定范围内的整数。 print(random.randint(1, 100)) #15 # random.randrange([start],stop[,step]) 从指定范围内,按指定的基数递增的集合中获取一个随机数 # 取 0到100之间的随机偶数 print(random.randrange(0, 100, 2)) #62 # random.choice 从序列中获取一个随机元素。其函数原型为random.choice(sequence),参数sequence表示 # 一个有序类型。 print(random.choice(u'改变世界')) # 世 print(random.choice(['sunshine', 'is', 'lower'])) # lower print

Generating uniform random integers with a certain maximum

老子叫甜甜 提交于 2020-02-13 04:06:32
问题 I want to generate uniform integers that satisfy 0 <= result <= maxValue . I already have a generator that returns uniform values in the full range of the built in unsigned integer types. Let's call the methods for this byte Byte() , ushort UInt16() , uint UInt32() and ulong UInt64() . Assume that the result of these methods is perfectly uniform. The signature of the methods I want are uint UniformUInt(uint maxValue) and ulong UniformUInt(ulong maxValue) . What I'm looking for: Correctness I

How to generate an un-biased random number within an arbitrary range using the fewest bits

孤街浪徒 提交于 2020-01-21 08:17:10
问题 Because of the pigeon hole principle, you can't just use output = min + (rand() % (int)(max - min + 1)) to generate an unbiased, uniform, result. This answer to a similar question provides one solution but it is highly wasteful in terms of random bits consumed. For example, if the random range of the source is low, then the chances of having to generate a second value from the source can be quite high. Alternative, using a larger source range is inherently wasteful too. While I'm sure an