答:目前来看,Anaconda3和PyCharm用的相对来说多一些。 3.问:在哪里执行pip命令安装Python扩展库?为什么在IDLE中执行会提示语法错误呢?...11.问:在我的代码中x是一个列表,我使用y=x.sort()语句把它排序后的结果赋值给y,然后使用y.index(3)查看3在y中的下标时,为什么会提示“AttributeError: 'NoneType...很可能是拼写错误,仔细检查变量是否拼写正确。 21.问:我的代码可以运行,但是结果不对,怎么办呢? 答:代码可以运行表示没有语法错误,不代表没有逻辑错误。...遇到这种情况时,仔细检查代码的逻辑和问题的要求是否一致,是否把>写成>=了,或者忽略了range()函数返回的是左闭右开区间了,是不是把运算符**写成*了,是不是代码缩进有错误。...32.问:两个列表是怎么比较大小的呢? 答:列表比较大小时,是从前往后依次比较其中的每个元素,直到得到明确的结论为止。
当进入代码审查环境的时候,我才明白为什么命名这么难。 在计算机科学里有两个难题:内存不足、命名、以及差一(off-by-one)错误。...因为不管这个函数有多大,你都不会觉得奇怪,毕竟这个函数应该做所有的事情。这时候就需要改名、重构了。 有意义的命名也有不太好的一面。如果名字的表意太强,结果掩盖了一些功能上的细微差别怎么办?...测试会告诉我(或我之前的人)他们预想代码是如何工作的,以及他们预期哪里会出错。 所以,当写测试时,我会记住: 记录如何使用测试时用到的类/函数/系统。 记录我所想到的会出错的地方。...在某次出错的问题上,我们以为机器上没有正确安装 nginx,但结果是配置被设置为了 false。 当然,我不需要总是这样做。有时候错误信息已经足以减少需要搜索代码的区域。...我想你会凭直觉地知道什么东西很重要需要记录,但是在我们的服务器中我和资深软件工程师所记录的东西有很多不同。
){}); // 或者是在定义后,因为没有在 VO 中存在 console.log(foo); // foo is not defined 那现在的逻辑问题是,为什么我们需要这种类型的函数?...就像之前说的,FD只能出现在两个地方:在进程级别或者是直接在另一个函数的函数体中。 上面的例子是错误的,因为代码块只能包含语句。函数能出现在块中的唯一一个地方是这一种语句 — 表达式语句。...但是大多数实现将会在进入上下阶段简单的创建这两个函数声明(FD),但是因为两个函数有相同的名字,所以只有最后一个函数声明会被调用。...在相同的条件下,在具有内部函数的例子中可能看到相同的表现。...(译者注:如果你还是用win7,可以尝试一下IE8以下版本的浏览器)。 其次,如果在声明时将命名的FE分配给变量,JScript会创建两个不同的函数对象。
,为什么会出现溢出,为什么会计算错误,如何在自己以后写代码的过程中避免一些潜在的问题,让自己写出更高质量的代码 我们学习一门开发语言的时候,开始学习基础语法的时候都会学习各种数据类型,这些数据类型在系统中又是如何存储的呢...,使用ASCII码作为字符码的任何系统上都将得到相同的结果,与字节顺序和字大小无关。...也正是这样文本数据比二进制数据具有更强的平台独立性 表示代码 其实我们的代码在不同类型的机器上编译时,生成的结果也是不同的,所以你在linux上编译的代码肯定是不能再windows上运行的,反之亦然 布尔代数...x的唯一的w位的补码表示 现在将函数T2U 定义为T2U = B2U 也就是这个函数的输入是一个TMin - TMax 的数,而结果得到的是一个0-UMax的值,这里两个数有相同的位模式,除了参数是无符号的...,而结果是以补码表示的 同样的对于0-UMax 之间的值x ,定义函数U2T 为U2T = B2T 生成一个数的无符号表示和x的补码表示相同 ?
也就是说将key值相同的value归并到一起,得到的结果是key-list的Pair RDD,也就是我们把key值相同的value放在了一个list当中。 我们也来看下例子: ?...在这个例子当中我们执行了累加,把key值相同的value加在了一起。 foldByKey和fold的用法差别并不大,唯一不同的是我们加上了根据key值聚合的逻辑。...我想了很久,才找到了问题的根源,出在哪里呢,在于合并。有没有发现第二个函数和第三个函数都是用来合并的,为什么我们要合并两次,它们之间的区别是什么?...在第三个函数当中,我们对于出现的总数也进行累加,是因为这一个函数处理的结果是各个分区已经聚合一次的结果了。...从结果当中我们可以看到,如果两个数据集当中都存在多条key值相同的数据,spark会将它们两两相乘匹配在一起。 行动操作 最后,我们看下pair RDD的行动操作。
逻辑曲线在z=0时,十分敏感,在z>>0或z<<0处,都不敏感,将预测值限定为(0,1)。为什么会用Sigmoid函数?...这样的函数拥有多个局部极小值,这就会使得我们在使用梯度下降法求解函数最小值时,所得到的结果并非总是全局最小,而有更大的可能得到的是局部最小值。...这就可以和代价函数联系起来,在预测分类中当算法预测正确其代价函数应该为0;当预测错误,我们就应该用一个很大代价(无穷大)来惩罚我们的学习算法,使其不要轻易预测错误。...对数损失在LR中表现形式如下: 对于惩罚函数Cost的这两种情况: 给我们的直观感受就是:当实际标签和预测结果相同时,即y和 同时为1或0,此时代价最小为0;...在刚开始学习机器学习的时候,很多教材会告诉你,在逻辑斯蒂回归中,我们使用 sigmoid 函数将预测值从实数域转换为(0,1)区间内,而这可以代表该预测值为正类或为负类的概率。
不管你看着多么相似,但是在Excel的逻辑里面都是不等的。...如果看着相同,但是结果不同,则双击鼠标进入单元格,查看是否有隐藏字符,如果发现有隐藏字符,把字符删掉即可,就可以有正确的返回值。 本案例的错误比较简单,只是一个常见字符问号隐藏了。...有人要问了,为什么查找8,返回的是第三行约吃饭呢?说一下Excel的实现逻辑。模糊匹配是找到和第一个参数最接近,但小于等于那个数对应的返回值。...石原里美,评分是4,和她最近进,且小于等于他的是0.所以返回值是朋友圈点赞,这样子就知道为什么模糊匹配能返回我们想要的结果了吧。好的,以上就是模糊匹配的用法。!...在这么说明一下,Find函数中无论中英文字符,都算是1个长度的字符。 我找丑陋这两个字是否在长文本内,同样输入=find,找什么呢,找丑陋,在哪里找呢,在长文本内找,从第几个字符开始呢?
一个为什么佣人钥匙不能打开车门的理由是这个钥匙可以被复制,而这个复制的钥匙在将来可能被用于偷车。这个情况听起来不太可能发生,但这个例子说明了不必要的授权会加大你的风险,即使是增加了很小权限也会如此。...> 上面的两个处理流程是完全相同的。...; 在处理这个表单的编程逻辑中,非常容易犯的错误是认为只能提交三个选择中的一个。...> 尽管在这种情况下可以用正则表达式,但使用PHP内置函数是更完美的。这些函数包含错误的可能性要比你自已写的代码出错的可能性要低得多,而且在过滤逻辑中的一个错误几乎就意味着一个安全漏洞。...> 小提示 htmlspecialchars( )函数与htmlentities( )函数基本相同,它们的参数定义完全相同,只不过是htmlentities( )的转义更为彻底。
使用 BERT 预训练模型为什么最多只能输入 512 个词,最多只能两个句子合成? 为什么 BERT 在第一句前会加一个 [CLS] 标志? Self-Attention 的时间复杂度是怎么计算的?...不过,对于做 transposes and reshapes 的逻辑,个人没有理的很明白,希望大佬看到能留言解答一下,感谢。 6.Transformer 在哪里做了权重共享,为什么可以做权重共享?...当然,在相同初始化方法前提下,两种方式得到的 word Embedding 可能方差会有差别,但是,BERT还有Layer Norm,会把 Embedding 结果统一到相同的分布。...论文中解释是:向量的点积结果会很大,将 softmax 函数 push 到梯度很小的区域,scaled 会缓解这种现象。怎么理解将 sotfmax 函数 push 到梯度很小区域?...维度与点积大小的关系是怎么样的,为什么使用维度的根号来放缩? 针对为什么维度会影响点积的大小,在论文的脚注中其实给出了一点解释: ?
13.在写入任何文件之前检查目录是否可写 在写入或保存任何文件之前,请务必要检查该目录是否是可写的,如果不可写的话,会闪烁错误消息。这将节省你大量的“调试”时间。...通过这样做,你就能得到哪里文件写入失败以及为什么失败的准确信息。 14.改变应用程序创建的文件的权限 当在Linux环境下工作时,权限处理会浪费你很多时间。...如果你正在相同域中运行多个应用程序,会话变量会发生冲突。2个不同的应用程序在会话变量中可能会设置相同的键名。举个例子,一个相同域的前端门户和后台管理应用程序。...而是要让你的逻辑更简短。 使用具有代码高亮功能的文本编辑器。代码高亮有助于减少错误。 20. 使用array_map快速处理数组 比方说,你要trim一个数组的所有元素。新手会这样做: ?...24.小心处理大型数组 大型的数组或字符串,如果一个变量保存了一些规模非常大的东西,那么要小心处理。常见错误是创建副本,然后耗尽内存,并得到内存溢出的致命错误: ?
在 ES6 中引入了关键字 let,使我们能够使用块作用域中的变量,从而帮助我们防止意外行为。 在这里,我们会得到与 Situation 2 中相同的错误。...在这种情况下,它们是否有相同的名字或标识符并不重要。 在控制台中,我们应该看到 Mike 和 John 被依次输出。为什么?...内部变量优先于外部变量,这就是为什么我们可以使用相同标识符的原因。 2.继承 考虑以下类,并尝试回答输出了什么以及为什么。...为什么:每次我们创建一个新的 Student 实例时,都会将 sayHello 属性设置为是一个函数,并返回字符串 Hello。这是在父类(Person)类的构造函数中发生的。...换句话说,它们两个都会指向内存中的同一个对象,因所以更改一个对象的属性将反映另一个对象的更改。 控制台中的结果应为 Mike。
在我们继续之前,让我们再回顾一下原始字典表达式: >>> {True:'yes',1:'no',1.0:'maybe'}{True:'maybe'} 这里为什么最终得到的结果是以 作为键呢?...并且,实际上会出现不同的两个或更多个键会生成相同的哈希值,并且它们最后会出现在相同的哈希表中。...如果两个键具有相同的哈希值,那就称为哈希冲突(hash collision),这是在哈希表插入和查找元素时需要处理的特殊情况。 基于这个结论,哈希值与我们从字典表达中得到的令人意外的结果有很大关系。...这个类的实例将相互比较一定不相等,但它们会拥有相同的哈希值1: 一起来看看python的字典在我们试图使用类的实例作为字典键时的结果: 如本例所示,“键被覆盖”的结果也并不是单独由哈希冲突引起的。...Umm..好吧,可以得到什么结论呢? python字典类型是检查两个对象是否相等,并比较哈希值以确定两个密钥是否相同。
在作者看来,这里有一个简单而明显的解决方案,就自己阅读的所有内容中,还没有人想过去尝试。 接下来,一起谈谈softmax函数,以及为什么在处理注意力时,它并非最适合的工具。...然而,当你处理的不是错误的代码,而是错误的数学时,你需要理解这个等式来自哪里,以及你应该怎么做,才有可能修复它。 对此,作者不得不阅读了大约50篇arXiV论文来理解所有这些。...softmax在多项式逻辑函数中有了用武之地。...虽然它们并不相同,因为它们在途中被以不同的方式投影,但在每一层中,它们都始于相同的已注释(已添加到)嵌入向量。...比较原始softmax的极限行为: 与新的改进softmax1的极限行为: 可以看到,原始的softmax总是会产生相同的总权重;softmax1虽然看起来大部分相同,但在负半轴中有一个逃生通道。
分析 前面的结论,写的非常粗糙,只是给出了大致结果,没有给出如何处理此问题的,如下我们慢慢展开。...继续找mMovingOff的调用位置,可以得到如下 ? 两个条件,最终确定是第一个条件出现问题,出现点为: ?...然而错误的原因你会泪奔的,原因是 mContext.getResources().getDisplayMetrics().heightPixels 的值为558,而popup的位置是579(系统判断579...于是在ContextImpl的构造函数设置断点,发现确实此处传递的overrideConfiguration参数中有我们需要的错误值。 因此可以断定,此处之前已经有问题啦。 ?...这里我们再去细分析,发现此处逻辑没有问题,当前task如果是isResizeable的,那么我们是需要覆盖这个值的,因此这里值没有问题,此处逻辑追踪的只是想确定错误值的来源。
本笔记主要问题来自以下两个问题,以及我自己面试过程中遇到的问题。 深度学习相关的职位面试时一般会问什么?会问一些传统的机器学习算法吗?...为什么AlphaGo里也用了CNN?这几个不相关的问题的相似性在哪里?CNN通过什么手段抓住了这个共性?...但是:没有免费午餐定力假设所有问题出现几率相同,实际应用中,不同的场景,会有不同的问题分布,所以,在优化算法时,针对具体问题进行分析,是算法优化的核心所在。...逻辑回归(广义线性模型的一种)的Logistic函数即为神经元激活函数中的Sigmoid函数,很多类似的方法在统计学和神经网络中的名称不一样,容易引起初学者(这里主要指我)的困惑。...不同的方式,造成的后果。为什么会造成这样的结果。
这里的权重为: 错误率越大,权重越小。 4.AdaBoost的推导 我们要证明,随着我们的分类器越来越多,组合之后得到的合成分类器对训练集的拟合会越来也好,也就是错误率会越来越小!...可以看到,虽然分类器大于5之后模型对训练集的错误率不再改变,但是呢,margin是在增加的。而增加margin可以使得模型更加具有鲁棒性,因此在测试集上的表现依旧会变得更好!...如果对margin理解地不是很好,可以参考SVM中的margin定义及其意义: SVM系列(三):手推SVM 为什么margin会增加?...假设把g看出一个参数,根据L的表达式以及复合函数的求导法则,我们可以得到两个红框框中间的表达式。即 的方向要尽可能的和那个求导结果的方向一致。...而stacking的思想就是,我们要把原先训练 的那些training data拿出来一部分来学习最终的那个分类器,比如说逻辑回归。为什么要这么做?
因此,该引擎可以显著的降低存储量并提高SELECT查询效率。 简单来说就是,clickhouse会自动的合并有效和无效的数据,减少数据存储,并减少update所产生的性能消耗。具体的逻辑,下面介绍。...SELECT的结果很大程度取决于对象变更历史的一致性。在准备插入数据时要准确。在不一致的数据中会得到不可预料的结果,例如,像会话深度这种非负指标的负值。...合并会继续,但ClickHouse会把此情况视为逻辑错误并将其记录在服务日志中。这个错误会在相同的数据被插入超过一次时出现。 因此,折叠不应该改变统计数据的结果。...变化逐渐地被折叠,因此最终几乎每个对象都只剩下了最后的状态。 Sign是必须的因为合并算法不保证所有有相同主键的行都会在同一个结果数据片段中,甚至是在同一台物理服务器上。...#通过两个 INSERT 请求,我们创建了两个数据片段。 #SELECT请求在两个线程中被执行,我们得到了随机顺序的行。 #没有发生折叠是因为还没有合并数据片段。
需要对客户端返回结果集数据 Insert 语句只需要返回是否成功以及插入了多少行即可,而 Select 语句需要返回结果集。 本篇文章会重点说明这些不同的地方,而相同的步骤会尽量化简。...Optimizing 让我们回到 plan.Optimize() 函数,Select 语句得到的 Plan 是一个 LogicalPlan,所以 这里 可以进入 doOptimize 这个函数,这个函数比较短...下面分别介绍一下这两个函数做了什么事情。...会递归调用下层节点的 convert2PhysicalPlan 方法,生成物理算子并且估算其代价,然后从中选择代价最小的方案,这两个函数比较重要: // convert2PhysicalPlan...SQL 层会将多个 Region 返回的结果进行汇总,在经过所需的 Operator 处理,生成最终的结果集。
但是,我们如何决定将直线放置在哪里,即如何确定直线的斜率呢?这一问题的答案同样是神经网络学习的核心,接下来我们将讨论这个问题。 简单分类器的训练 为什么我们要训练我们的分类器?...我们在预测器的例子中看到,模型是根据真实世界实例/真值表对比训练数据得到的误差提供反馈。对于分类器,我们也会遵循同样的原则。 训练数据 所有这三种场景中的分界线都可以通过以下方式获得:调整梯度。...布尔逻辑函数通常接受两个输入并产生一个输出。典型的布尔逻辑函数可以表示为: image.png 逻辑与或 我们可以代表逻辑与和或函数具有输入A和B的真值表形式。...image.png 在输入为坐标的情况下,绘制与上面相同的图,得到如下所示的图: image.png 这似乎有一个问题,因为我们无法将绿色区域与红色区域分开,只有一条直线。...它也被称为逻辑函数,它的公式为: y = 1/(1+e^-x) image.png Sigmoid函数是非线性的,与阶跃函数不同,激活函数的输出始终在(0,1)范围内。
领取专属 10元无门槛券
手把手带您无忧上云