自然可以想到,要通过观察概率产生的随机数据去反向推导这个概率。举个例子。比如我想知道一种疾病的生还概率,那么通过观察10个人,我发现其中9个都死了,那我现在就说生还概率是10%(简单粗暴)。...这里所说概率可能不一样是因为有限的随机数据导致的,这个锅不应该由概率来背,谁让你数据量不够呢,真实的概率还是确定的。 为此,频率学派使用置信区间来度量随机样本的估计值和真实值之间的偏差。...还是拿疾病的生还概率问题举例,假如频率学派通过观察估计概率是10%,但是贝叶斯觉得这10%简直就是bull shit,是不准确的。...那,现在我问,如果突然听见警报响了,这时汽车已经被砸了的概率是多少呢? 其实这也就是问,警报响这个证据有了,多大把握能相信它确实是在报警说汽车被砸了?...当然对于贝叶斯的理论还有很多东西可以研究,真的非常强大。如果机器学习从判别式和生成式的角度考虑又是一庞大的分类。
自然可以想到,要通过观察概率产生的随机数据去反向推导这个概率。举个例子。比如我想知道一种疾病的生还概率,那么通过观察10个人,我发现其中9个都死了,那我现在就说生还概率是10%(简单粗暴)。...当重复试验的次数趋近无穷大时,事件发生的频率会收敛到真实的概率之上。 看到这里或许你会提问,如果观测样本有限,那真实的概率还会精准吗? 答案是不一定。...这里所说概率可能不一样是因为有限的随机数据导致的,这个锅不应该由概率来背,谁让你数据量不够呢,真实的概率还是确定的。 为此,频率学派使用置信区间来度量随机样本的估计值和真实值之间的偏差。...那,现在我问,如果突然听见警报响了,这时汽车已经被砸了的概率是多少呢? 其实这也就是问,警报响这个证据有了,多大把握能相信它确实是在报警说汽车被砸了?...当然对于贝叶斯的理论还有很多东西可以研究,真的非常强大。如果机器学习从判别式和生成式的角度考虑又是一庞大的分类。
想要对它了解更多?如今是时候去揭开它的真面目了。 I.真随机数&伪随机数的基本定义 在这之前需要先明白一点:随机数都是由随机数生成器(Random Number Generator)生成的。...执行后,成功看到了结果。貌似是一串随机数。 可是,当我们多次执行时,发现它的数值却还是41,18467, 6334。 这并不是我们想要的结果,我们希望每一次运行都可以产生不同的数值。...因为每次重新运行时的种子都是1,运行出来的结果自然就还是这几个数啦。 现在我们已经知道了种子这个重要的参数,我们就可以用一个一元二次方程来模拟这个过程。...但是你如果短时间内连续执行,会发现它是有规律可循的,会随着时间的推移慢慢上涨,到100后再回到0,再重新上涨… 这可是个严重的问题。游戏如果敢这么做,肯定会亏的妻离子散。...也就是说,经过足够多次的运行,结果会出现重复。
如果这个问题已经可以解决,为什么还会引起如此大的讨论呢? 因为网友们的重点已经上升到了“哲学”层面: 这到底是不是一个bug? 在Reddit上有人认为:这不是一个bug。...而现在NN中的许多数据加载pipeline,都使用某种类型的随机转换来进行数据增强,所以不重新初始化可能是一个预设。 另一位网友也表示这个bug其实是在预设程序下运行才出现的,应该向更多用户指出来。...有人就分享出了自己此前的惨痛经历: 我认识到这一点是之前跑了许多进程来创建数据集时,然而发现其中一半的数据是重复的,之后花了很长的时间才发现哪里出了问题。 ?...顺便一提,这提供了Karpathy定律的另一个例子:即使你搞砸了一些非常基本代码,“neural nets want to work”。 你有踩过PyTorch的坑吗?...其中从向量、函数到model.train(),无论是真bug还是自己出了bug,大家的血泪史还真的是各有千秋。 所以,关于PyTorch你可以分享的经验血泪史吗?
我强烈推荐这种方法,但是由于有些模型的训练时间太长,这种方法并不总是可行的。 解决方案 #2:设置随机数字生成器的种子 另一种解决方案是为随机数字生成器使用固定的种子。 随机数由伪随机数生成器生成。...这是为了确保,默认情况下每次运行代码都会生成不同的随机数字序列。该种子点可以是指定数字,比如 “1”,来保证每次代码运行时生成相同的随机数序列。只要运行代码时指定的种子的值不变,它是什么并不重要。...如果我仍然得到不同的结果,怎么办? 为了重复迭代,报告结果和比较模型鲁棒性最好的做法是多次(30+)重复实验,并使用汇总统计。...如果这是不可行的,你可以通过为代码使用的随机数发生器设置种子来获得 100% 可重复的结果。 如果你已经按照上面的说明去做,仍然用相同的数据从相同的算法中获得了不同的结果,怎么办?...我自己没有遇到过这个,但是在一些 GitHub 问题和 StackOverflowde 问题中看到了一些案例。 如果只是缩小成因的范围的话,你可以尝试降低模型的复杂度,看这样是否影响结果的再现。
对于打了标的字段,我才去解析对应的默认值,否则我就不管了。 如果你直接 new 对象,那是 Java 的规范,我管不了。 但是如果你使用 Builder 模式,你就得遵守我的规范。...但是还是那句话:一切解释权归官方所有,你要用,就得遵守我制定的规范。 那么到底是改了啥导致产生了这么一个奇怪的 BUG 呢?...结果你这个就搞没了,就不遵循惯例了。 当然,你还是可以拿出那句万金油的话:一切解释权归官方所有,你要用,就得遵守我制定的规范。我的规范就是不让你们混用。...正是因为这样,Lombok 才知道你用什么日志注解,应该给你生成什么样的 log。...书中也提到了 Lombok 的工作原理: 第二本书是《深入理解 JVM 字节码》,在它的第 8 章,也详细的描述了插件化注解的处理原理,其中也提到了 Lombok: 最后画了一个示意图,是这样的: 如果你看懂了书中的前面的十几页的描述
如果服务器未配置,不能正常访问图片但是我在尝试了这种方案之后,我试了一下,好像正常访问文章确实没有了,但点击导航栏的网站链接好像又有了,就像下图图片访问文章又是正常的图片我就在想会不会是cdn的问题,这个导航是静态链接...就这样我再次重复上面的操作,30分钟过去了,我的内心此时相当复杂,&&?...图片 cdn刷新加上一系列操作又过去了15分钟,还是一样,我当时真想把电脑砸了,不过还好这次有所收获,就是不加index.php这个界面仍然可以访问。太困了,去睡了一觉。...图片四、解决方案上面介绍的三种方法都是可行的,我个人还是推荐第三种,最简单的一种。如果一开始就知道的话,我应该是5分钟搞定。其实cdn也不需要刷新,这个配置是从数据库读取的,跟cdn没有一点关系。...宝塔真的很方便,它的伪静态设置应该是嵌入nginx配置中的,不需要重新配置。主题还是得优先看看主题的配置网站变“美”之路仍需努力
如果服务器未配置,不能正常访问 但是我在尝试了这种方案之后,我试了一下,好像正常访问文章确实没有了,但点击导航栏的网站链接好像又有了,就像下图 访问文章又是正常的 我就在想会不会是cdn的问题,这个导航是静态链接...就这样我再次重复上面的操作,30分钟过去了,我的内心此时相当复杂,&&?...cdn刷新加上一系列操作又过去了15分钟,还是一样,我当时真想把电脑砸了,不过还好这次有所收获,就是不加index.php这个界面仍然可以访问。太困了,去睡了一觉。...四、解决方案 上面介绍的三种方法都是可行的,我个人还是推荐第三种,最简单的一种。如果一开始就知道的话,我应该是5分钟搞定。其实cdn也不需要刷新,这个配置是从数据库读取的,跟cdn没有一点关系。...宝塔真的很方便,它的伪静态设置应该是嵌入nginx配置中的,不需要重新配置。 主题还是得优先看看主题的配置 网站变“美”之路仍需努力
把之前的、正常的请求再次发送,这就是重放攻击。 有的朋友就会说了:我的接口是加签的,应该没问题吧? 你加签咋了? 我没有动你的报文,所以你也可以正常验签呀。...看来还是不懂重放攻击的基本原理。 你加密咋了? 反正我截取到了你的报文,虽然你报文加密了,我看起来是一段乱码,但是我也不需要知道你报文的具体内容呀,直接重发就完事了。 还是前面的例子。...那么当我们把这两个方案揉在一起的时候,神奇的事情就发生了: 我只需要保证时间窗口内的生成的随机串不重复就行。...我们推荐生成随机数算法如下:调用随机数函数生成,将得到的值转换为字符串。 阿里API网关 看完微信支付,再看看阿里的 API 网关是怎么防止重放攻击的。...最后说一句 好了,看到了这里安排个“一键三连” (转发、在看、点赞)吧,周更很累的,需要一点正反馈。 才疏学浅,难免会有纰漏,如果你发现了错误的地方,可以在留言区提出来,我对其加以修改。 ?
这里就记录一下我是如何一步一步的打造属于自己的 Terminal在 macOS 上的 Terminal 是怎么样的,你如果想和我一样,直接 cv 大法 就可以搞一套一样的。...可以说,每天有大量的时间都需要面对它。 我记得我第一次点下鼠标,打开这个终端的时候,看到了这样一个界面: 我傻了。怎么这么丑?macOS 上怎么允许有这么丑的应用?...不行,如果让我每天对着它,一定会把电脑砸了(虽然它是高贵的 16寸 MacBook Pro),我得找一个第三方 Terminal 来替代它。...iTerm2 很快,我就找到了新欢,它的名字叫 iTerm2,它是一款完全免费,为 macOS 打造的一款终端工具,可以说是程序员必备了,如果还没用过的,赶紧跟着这篇文章用起来吧。 ?...~ 插件 到了这一步,你的 iTerm2 应该已经颜值爆表,足够好看了。
摘自《A Million Random Digits with 100,000 Normal Deviates》 但是到了二十世纪40年代中期,现代世界需要更多的随机数,远超过骰子和蓍草茎可提供的范围。...亲爱的, 我对你的可爱迷恋至极。 你勾起了我所有对情爱的幻想。 我为你而狂热。 你的魅力使我对你充满了渴望。 我的心随你在而让我无法呼吸。...你的追求者 M.U.C 但是图灵的随机数字指令让当时的程序员感到非常困惑,因为它在一个已经如此不可预测的环境中造成了太多的不确定性。...人们期望软件的一致性,但使用该指令的程序永远无法以一种一致性的可重复方式运行,这使得测试几乎不可能。 如果一个随机数发生器可以表示为确定性函数呢?...如果可以重复调用一个随机数序列,但在相同的初始化条件下,它总是会产生相同的序列呢?这就是伪随机数发生器(PRNG)。
是说我们如果用传统的这一个,比如说基于搜索的测试数据生成,假如说左边的这些代码,那他跑了一段时间,他会所谓的到了这一个瓶颈,就是他就没法给他更多的时间,他已经这个没法有更多的提升了。...你数据沉浸性或者是你的这个什么,比方说混合精度碰到了这种问题都会导致这个结果的产生,这个训练就被迫再重来,对吧?我觉得这些技术问题可能是要解决掉,但是更多的就是后面这个。...所以就是说从假如说产品代码生成和测试代码生成,我认为确实就是测试代码生成,它落地和产生的效果应该是碰到了拦路虎,和这个应该比那个产品代码生成是要快要好的。...如果大家对多行代码补全这个事儿,嗯,有心有想尝试的倒是可以试试。但是这件事情它一个好处是啥?它一个好处就是他这个任务非常聚焦,可是能带来多大的收益?这个事你得自己来衡量一下。...所以说我觉得如果对这个能力想要有要求,那可以对接一下。如果你比方说希望这个代码生成或者代码重构,或者代码测试,那我觉得可能还是得等我们下一版的那一个模型,就是我是希望下一版的模型能把这个事儿。
我当初也是费了半天劲,现在想想,觉得应该这么办—— 首先,如果你实验室里有师兄、师姐干过相关领域的研究,那就向他们要他们写过的文献综述、报告、ppt文件等等,先看这些中文的资料垫垫底,也可以去找相关中文书籍来垫垫底...当然,咱们得抱着一定要使它成功的劲头去做,要多设计几个,其中的几个要和主实验同时开始,另外几个做备案,这是为了东边不亮、西边亮。...设计实验时,也要查很多资料,例如原材料的一些性能参数、实验参数的设置等等,但有时你就是费了老鼻子劲,有的资料也就是查不着,那就不能在这准备工作上耗时间太多,这是因为,只有动手做了,才会有更多的科研体验和发现...就像一个老师曾经说过,搞科研是要坐冷板凳,但是坐冷板凳首先你要坐得起,否则,冷板凳还没坐出结果,你倒先冻死了,那就不对了。咱们还是把这些没解决的问题放到以后解决吧。...,这样,我就被逼出了一篇比较重要的论文,但我最佩服的还是王中林大牛,你看人家能把ZnO的那些环、圈、波浪、弯折等奇怪的结构解释得这么清楚,而且,这种结构往往在产品中只占一小部分,常常被我们忽略了。
三层架构的概念倒是了解了,但是没有去深入思考就拿来应用 遇到重复的代码,没有重构的概念,这是思想的问题 —— 思想比你的能力重要 至今为止,还是很多人使用代码生成器,那么我们应该怎么对待这个问题呢。...我的前辈应该是从 c++ 程序员转过来的,习惯了各种功能自己实现一遍,但是他忽略了 C# 的很多东西。我们不去评判这段代码的优劣,而实际上他在很长一段时间都运行得很好。...这是一种比较先进的开发方法,但是在编程的实践过程中,我认为它过于繁琐,很多中小企业很难实施,更别提我们个人开发者。...但是,如果我们有重构的意识,以及在编程的过程中熟悉一些代码调整和优化的小技巧,你自然而然就会培养出重构的能力。...重构,其实很简单: 把基础打牢固 多看点优秀的代码 避免复制粘贴,如果看见重复代码时应该有意识要消灭它 减少对代码生成器的依赖 在处理现有代码时尽量用重构代替重写,在重写之前一定要先重构 尽量让所有的方法都是可测试的
三层架构的概念倒是了解了,但是没有去深入思考就拿来应用 遇到重复的代码,没有重构的概念,这是思想的问题——思想比你的能力重要 至今为止,还是很多人使用代码生成器,那么我们应该怎么对待这个问题呢。...我的前辈应该是从c++程序员转过来的,习惯了各种功能自己实现一遍,但是他忽略了C#的很多东西。我们不去评判这段代码的优劣,而实际上他在很长一段时间都运行得很好。...这是一种比较先进的开发方法,但是在编程的实践过程中,我认为它过于繁琐,很多中小企业很难实施,更别提我们个人开发者。...但是,如果我们有重构的意识,以及在编程的过程中熟悉一些代码调整和优化的小技巧,你自然而然就会培养出重构的能力。...重构,其实很简单: 把基础打牢固 多看点优秀的代码 避免复制粘贴,如果看见重复代码时应该有意识要消灭它 减少对代码生成器的依赖 在处理现有代码时尽量用重构代替重写,在重写之前一定要先重构 尽量让所有的方法都是可测试的
如果你认为这是一个标题党,那么我真诚的恳请你耐心的把文章的第一部分读完,然后再下结论。如果你认为能够戳中您的 G 点,那么请随手点个在看。...三层架构的概念倒是了解了,但是没有去深入思考就拿来应用 遇到重复的代码,没有重构的概念,这是思想的问题 —— 思想比你的能力重要 至今为止,还是很多人使用代码生成器,那么我们应该怎么对待这个问题呢。...这是一种比较先进的开发方法,但是在编程的实践过程中,我认为它过于繁琐,很多中小企业很难实施,更别提我们个人开发者。...但是,如果我们有重构的意识,以及在编程的过程中熟悉一些代码调整和优化的小技巧,你自然而然就会培养出重构的能力。...重构,其实很简单: 把基础打牢固 多看点优秀的代码 避免复制粘贴,如果看见重复代码时应该有意识要消灭它 减少对代码生成器的依赖 在处理现有代码时尽量用重构代替重写,在重写之前一定要先重构 尽量让所有的方法都是可测试的
我相信如果在这些问题上可以达成一致,并实实在在地讨论相关的问题,而不是独立地重复地去一次又一次地重新发现相同的问题。 我希望看到更多的关于深度强化学习的研究。...我想应该是后者。 这是很有趣的,但是这绝对不是我们想让机器人所做的。 下面另一次失败的运行,这次是发生在 Reacher 环境中的。 ?...但是如果你使用了 5 个随机数种子,那就是将调节的超参数变成了原来的 5 倍,为了有效地测试你的假设,你需要极其多的计算量。...如果你把某些事情搞砸了或者你没有将一些东西调节到足够好,你很有可能得到一个比随机结果更糟糕的情况。即使一切都正常,你也有可能在 30% 的时间里得到一些糟糕的策略。...我们可以从上面这个列表中发现一些让学习变得更加容易的共同属性。以下列出的属性都不是学习所必需的,但是更多地满足这些属性学习效果会更好。 生成近乎无限多的经验是很容易的。我们应该清楚为什么这是有帮助的。
由于在河北没挣到钱,我又于 19 年清明节那天,回到了深圳,又加入了原来的那个团队。公司被他们搞的一团遭,都破产了,我回来后,我们又接了个项目从头开始。 19 年特别忙,我也没空再维护我那个软件。...md5 生成的 64 位编号)校验功能,并在软件上留下了我的微信号,于 20 年 9 月份,我将软件发布到“小众软件”这个网站上了,有好些人夸赞我这个软件很实用,还提到了软件存在的问题。...在 21 年里,由于忙,我一直都是一边忙公司的事情,周末有空了就维护一下软件的问题,主要是各种闪退,菜单弹不出来,显示出错等,但是功能还是那么简单,UI 还是那么的简陋。...每天好多用户加我,尤其大中午的,搞的我好久没午休好了,状态极期低迷。 以设备 ID 号来判断电脑,容易重复,重复率那是相当高。...以上七点,只有第 5 条、第 6 条、第 7 条的效果是长远而且行之有效的。 到了 22 年 6 月之后,软件终于不用我怎么管了,自行运行,自动收钱,然后躺平了。用户每天在增加,收益变得起来起多。
领取专属 10元无门槛券
手把手带您无忧上云