个人认为注释还是要写,算是对代码的中文翻译,因为我们的英语水平,命名习惯各不相同。 注释掉的代码 其他人不敢删除注释掉的代码。 他们会想,代码依然放在哪儿,一定有其原因,而且这段代码很重要,不能删除。 格式 垂直格式 类文件不应太庞大,适当拆分类,防止臃肿。 向报纸学习 从上往下阅读,先看到主题,再看到详细的描述。 数据、对象的反对称性 过程式代码(使用数据结构的代码)便于在不改动既有数据结构的前提下添加新函数;面向对象代码便于在不改动既有函数的前提下添加新类。 反之亦然 过程式代码难以添加新数据结构,因为必须修改所有函数;面向对象代码难以添加新函数,因为必须修改所有类。 得墨忒耳率 函数只能调用本类的函数、本类属性的函数、方法参数对象的函数。 混杂 避免在实体类里写业务代码。 数据传输对象 即DTO。 Post Views: 278
#sort:对向量进行排序;返回排好序的内容 #order:返回排好序的内容的下标/多个排序标准 > x <- data.frame(v1=1:5,v2=c(10,7,9,6,8),v3=11:15,v4=c(1,1,2,2,1)) > sort(x$v2) [1] 6 7 8 9 10 > sort(x$v2,decreasing = TRUE) [1] 10 9 8 7 6 > order(x$v2) [1] 4 2 5 3 1 > x[order(x$v2),] v1 v
你可以编辑Gradle文件,用AAR替代当前的版本,并将下面的代码片段,添加到Java初始化代码中。 // Initialize interpreter with GPU delegate. 然后更改代码,在创建模型后调用ModifyGraphWithDelegate ( )。
编辑 gradle 文件替换当前版本,以包含这个 AAR,并将此代码片段添加到 Java 初始化代码中。
Note 对于异常检测问题而言,样本数据集往往是倾斜的,即 标记为 1 异常的数据往往很少,而标记为 0 即正常的数据往往很多 此时使用准确率等方法来进行判断一个模型的好坏往往是不合适的,所以通过 查准率和查全率以及 F1 分数能够很好的分析和判断这个问题
本系列是《玩转机器学习教程》一个整理的视频笔记。本小节主要介绍使用sklearn网格搜索寻找最好的超参数以及kNN计算两个数据点距离的其他距离定义。
实际查询中,通常不会检索所有行,需要对数据进行筛选过滤,选出符合我们需要条件的数据。
但在编写一些Go代码之后,很多人感觉自己写的Go代码很别扭,并且总是尝试在Go语言中寻找自己熟悉的上一门语言中的语法元素。 自己的Go代码风格似乎与Go标准库、主流Go开源项目的代码在思考角度和使用方式上存在不小差异,并且每每看到Go核心开发团队的代码时总有一种醍醐灌顶的感觉。 此书里说有时需要短命名加注释,而代码整洁之道里说注释就不应该存在,如果要用注释,说明写的代码无法准确清晰的表达意思。 ---- 我们的目标是编写出高质量的Go代码,这就需要我们在学习语言的同时,不断学习Go语言原生的编程思维,时刻用Go编程思维考虑Go代码的设计和实现,这是通往高质量Go代码的必经之路。 ---- 第6条 提交前使用gofmt格式化源码 自从现代编程语言出现以来,针对每种编程语言的代码风格的争论就不曾停止过,直到Go语言的出现,人们才惊奇地发现Go社区似乎很少有针对Go语言代码风格的争论
练习4-6 猜数字游戏 猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too 代码: #include<stdio.h> int main() { int random; int N; scanf("%d %d",&random,&N); int
习题4-6 水仙花数 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。 输入样例: 3 输出样例: 153 370 371 407 代码: #include<stdio.h> void fun1(int *m,int *n,int N) { int
最近感慨面试难的人越来越多了,一方面是市场环境,更重要的一方面是企业对 Java 的人才要求越来越高了。 基本上这样感慨的分为两类人,第一,虽然挂着 3、5 年经验,但肚子里货少,也没啥拿得出手的项目,自己还意识不到问题;第二,自身有技术追求,但欠点儿火候,多练习多吸收知识,锤炼一下问题不大。 拿我自己来说,早几年也是心比天高,觉得自己特了不起,结果往往一面试就发虚,大部分人都经历过这样一个不自知的阶段。 后面见识多了,再主动多跟着大佬学习,薪资就能相对顺利地随着经验积累增多一路涨起来。 之前私圈分享过
,他似乎处理的不是普通的8位图像,而是16位的,反正我是没有看懂,并且他的提供比较的C代码本身写法就完全没有考虑到C语言自身的优化,因此最后提出SSE代码比C快5倍说服力就大为打折扣,不过他这里可以值得学习的地方就是这个转置支持 2、图像转置的Neon优化代码 Neon的代码,没看懂,不过后面说10倍左右的提速,其实也要看原始的C代码是怎么写的了,不过原文也明确的说,只支持RGBA 32位的图,显然作者也避而不谈灰度或者24位的图 ,标记了每一步数据是如何变化的,代码充分利用了8位、16位、32位的pack组合,相信有SSE基础的人都能看的懂,有的时候自己看着这段代码都觉得是一种享受。 LinePS[0]; LinePS += StrideS; } } 在大部分的情况下,后一种写法会快很多,对于SSE的优化也是一样的(由于转置的特性,上述两种方式的SSE对应代码的块代码是一样的 核心代码都已经共享了,由需要的朋友请自行整理成工程。 有兴趣的朋友也可以试试AVX的优化速度。
代码运行效果: 方法二:for循坏 count = 0 for number in range(100): if number % 2 == 0: continue count += number print(count) 第1行: 设置一个变量count, 初始赋值为0 第3行: 用for循环遍历100以内所有的整数 第4-6行: 用if语句判断100以内的数是否为奇数 100: count += number number += 2 print(count) 第1-2行: 设置一个变量count ,初始赋值为0,变量number初始赋值为1 第4- , 第1行: 用def定义 sum 函数,传入参数 x 第2-3行: 设定这个设定递归算法的结束条件(if x > 99,return 0) 第4-6行: 在算法流程中调用sum函数自身,通过 return 函数执行语句 第7行: 为x赋值为1,用print函数打印运算结果 代码运行效果:
代码清单4-6使用了两种方式来处理同一个JSON数据。 代码清单4-6 动态地使用JSON数据 string json = @" (本行及以下7行) 硬编码的JSON数据 { 'name': 'Jon Skeet', 'address 代码的后半部分展示了:访问JSON数据,既可以使用LINQ to JSON提供的索引器,也可以使用它提供的动态视图。 读者倾向于哪种方式呢?关于两种方式一直存在各种争议。
解题思路:这道例题我分了4部分,前3行一部分,4-6行一部分,7-13行一部分,最后一行一部分,读者请仔细阅读注释,小林写的很详细了。 前三行输出,为了让初学者知道,即使最笨的方法也是可以打印的。 wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1] 4-6行,这三行输出效果一样。 for(i=0;i<14;i++) { printf(" "); } printf("*\n"); 源代码演示,前三行代码样式请参考上述截图,文章中的源码空格有点小bug: # 打印第二行 printf("************* *************\n");//打印第三行 int i,j;//定义变量 for(i=0;i<3;i++)//打印4- wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1] 上述代码中的*,读者可以自行替换,读者可以用这个符号替换试试♥,看是否可行,自己动脑思考一下。
std::cout<<"0-3: "<<i<<std::endl; break; case 4 ... 6: std::cout<<"4- 输出 4-6:5
,这里再来一篇文章,用OpenCV DNN实现一个很有趣好玩的例子,基于Caffe的预训练模型实现年龄与性别预测,这个在很多展会上都有展示,OpenCV DNN实现这里非常简洁明了,总共不到100行的代码 '(0-2)', '(4-6)', '(8-12)', '(15-20)', '(25-32)', '(38-43)', '(48-53)', '(60-100)' 人脸检测是基于OPenCV 实现步骤 完整的实现步骤需要如下几步: 预先加载三个网络模型 打开摄像头视频流/加载图像 对每一帧进行人脸检测 - 对检测到的人脸进行性别与年龄预测 - 解析预测结果 - 显示结果 代码实现详解 加载模型 MODEL_MEAN_VALUES = (78.4263377603, 87.7689143744, 114.895847746) ageList = ['(0-2)', '(4-6)', ' 完整源代码: import cv2 as cv import time def getFaceBox(net, frame, conf_threshold=0.7): frameOpencvDnn
0 ... 3: std::cout<<"0-3: "<<i<<std::endl; break; case 4 ... 6: std::cout<<"4- case 10: std::cout<<"10"<<i<<std::endl; default: break;} 注意: gnu编译器,mingw编译器支持 输出 4-
,这里再来一篇文章,用OpenCV DNN实现一个很有趣好玩的例子,基于Caffe的预训练模型实现年龄与性别预测,这个在很多展会上都有展示,OpenCV DNN实现这里非常简洁明了,总共不到100行的代码 '(0-2)', '(4-6)', '(8-12)', '(15-20)', '(25-32)', '(38-43)', '(48-53)', '(60-100)' 人脸检测是基于OPenCV 实现步骤 完整的实现步骤需要如下几步: 预先加载三个网络模型 打开摄像头视频流/加载图像 对每一帧进行人脸检测 - 对检测到的人脸进行性别与年龄预测 - 解析预测结果 - 显示结果 代码实现详解 加载模型 MODEL_MEAN_VALUES = (78.4263377603, 87.7689143744, 114.895847746) ageList = ['(0-2)', '(4-6)', '(8-12 @_@): 完整源代码: import cv2 as cv import time def getFaceBox(net, frame, conf_threshold=0.7): frameOpencvDnn
Sphinx在用户和服务器端使用上述隐私保护推理协议进行推理任务中的表现见下表,可见相比单一的同态加密推理或者Sphinx的训练协议中的简单正向传播,针对Sphinx模型特点设计的轻量级的推理协议速度提升达4-