本系列是《玩转机器学习教程》一个整理的视频笔记。本小节主要介绍使用sklearn实现多元线性回归和kNN回归。
如果把个人比作一家公司。那么你自己就是这家公司的CEO。对个体而言,最重要的增长不在于工资,而在于能力的提升和个人网络的建立,以及未来赚钱的能力。
尽管 FlashAttention 的速度已经是优化基线的 2-4 倍,但它仍然有相当大的改进空间。 FlashAttention 仍然不如优化过的矩阵乘法 (GEMM) 运算快,仅达到理论最大 FLOPs/s 的 25-40%。 现在,研究团队宣布推出 FlashAttention-2。 与优化良好的 FlashAttention 模型相比,端到端实现 1.3 倍加速。 研究团队表示:下一步将针对 H100 GPU 优化 FlashAttention-2,以使用新的硬件功能。
本章主要内容面向接触过C++的老铁 主要内容含: ※全文大致内容总结 一.插入数据优化 关于插入数据优化,主要有以下三个方面 批量插入 手动提交事务 主键顺序插入 1.批量插入 采取以下形式,在一个 顺序插入可以减少 页分裂 (下文主键优化有详解)相应博客传送门 二.主键优化 1.主键设计原则 满足业务需求的情况下, 尽量降低主键的长度。 三.order by优化 尽量使用 覆盖索引INDEX . (覆盖索引加子查询形式&多表联查) 优化思路: 一般分页查询时,通过创建 覆盖索引 能够比较好地提高性能,可以通过 覆盖索引加子查询形式 或者 多表联查 进行优化。 count(*) InnoDB引擎并不会把全部字段取出来,而是专门做了优化,不取值,服务层直接按行进行累加。
198 146(物联网) 166 1410(物联网) 199 ✎ 正则表达式 如果根据上文的手机号段,进行严谨的规则匹配,那么得到的结果为: /^[1](([3][0-9])|([4][5- 9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$/ 如果觉得太过严谨,可以考虑使用 /^[1]([3- 9])[0-9]{9}$/ 举例,在 js 代码中进行应用的一种写法: var telStr = /^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][
str.trim().equals("") && str.length() == 11) { String regExp = "^((13[0-9])|(14[5-9])|(15 ([0-3]|[5-9]))|(16[5|6])|(17[0135678])|(18[0-9])|(19[8-9]))\\d{8}$"; Pattern p = Pattern.compile
((((13[^4]{1})|(14[5-9]{1})|147|(15[^4]{1})|166|(17\\d{1})|(18\\d{1})|(19[89]{1}))\\d{8})|((134[^9]{1 ((((13[^4])|(14[5-9])|147|(15[^4])|166|(17\\d)|(18\\d)|(19[89]))\\d{8})|((134[^9]|1410|1440)\\d{7}))$ "; regex = "^((((13[^4])|(14[5-9])|147|(15[^4])|166|(17\\d)|(18\\d)|(19[89]))\\d{8})|((134[^9
图片相关优化 压缩格式优化 简书 高清晰无压缩 > RGBA32 缺点 内存占用大, 显示运行内存 中清晰中压缩 > RGBA16+Dithering(TexturePacker)内使用FloydSteinberg Android] ETC1, 不支持dxt [Iphone/Ipand] PVRTC4 压缩默认 RGBA16 清晰度高但是渐变不合适 RGBA32 高保真 16it/尺寸减半 压缩 UI Icon 声音相关优化 推荐将Load Type设置为Decompress on Load(在加载时解压)会运行的更流畅(并不是使用于任何的音频,只是使用于频繁使用的音频) 参考链接: -微信公众号(游戏蛮牛)-Unity性能优化 —声音优化
((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|161|166|198|199|(147))\\d{8}$" 在线正则测试 http ((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|161|166|198|199|(147))\d{8}$
((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|161|166|198|199|(147))\\d{8}$" 在线正则测试 http ((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|161|166|198|199|(147))\d{8}$
或的逻辑约束 三个选择的或 只有才 更多或 整数可除 多边形组合 固定花费 分段线性 组合型 set covering set packing 食堂定位 地图填色 Julia例子 9数独 概述 整数优化就是线性优化
Android 优化目录 ---- 利用 Network Profiler 检查网络流量 接口设计 API设计 App 与 Server 之间的 API 设计要考虑网络请求的频次,资源的状态等 故而也是需要优化的一个点。可以在获取图片时告知服务器需要的图片的宽高,以便服务器给出合适的图片,避免浪费。 弱网优化 除了正常的网络优化,还需考虑到弱网情况下 App 的表现。 一般来说,网络延迟在 60ms 内是 OK 的,超过 200ms 就比较糟糕了。 弱网优化,本质上是在弱网的情况下能让用户流畅的使用。 压缩/减少数据传输量 利用缓存减少网络传输 针对弱网(移动网络),不自动加载图片 界面先反馈,请求延迟提交。
Android 优化目录 ---- 理想情况下,60 FPS 以上就不会卡顿,就是 1 秒内要有 60 帧,所以每一帧要在 16ms 内绘制完成。 刷新机制可以看Android Project Butter分析或《Android应用性能优化最佳实践》2.1.2 刷新机制一节。 大片的蓝色可以接受,如果整个窗口是蓝色的,可以尝试优化减少一次 绘制。 绿色:每个像素多绘制了 2 次。 淡红:每个像素多绘制了 3 次。一般来说,这个区域不超过屏幕的 1/4 是可以接受的。 严重影响性能,需要优化,避免深红色区域。 自定义 View 本身被认为一层,但是 onDraw 里可绘制时可能产生过度绘制,通过 canvas.clipRect 来解决,具体参见 《Android应用性能优化最佳实践》2.4.3 一节。
概览 线性化的必要性 非线性条件线性化 绝对值约束 最大最小约束 比例约束 总结 Julia优化例子 Knapsack Diet 概览 线性优化,指的是目标函数和约束条件都是线性的优化问题。 面对一个优化问题,首先需要建立优化问题的模型,因此需要编程语言;对优化问题建模后需要求解该问题,因此需要求解不同优化问题的solver。 优化库JuMP:是Julia的一个包,用于建立优化问题。 solver:Jump支持很多开源与商业的solver,这些solver用于求解优化问题。 线性化的必要性 求解线性问题要比求解非线性问题容易很多,因此将非线性的目标函数或者约束跳进进行线性化,有利于求解优化问题。 本文将介绍三种常见的非线性约束并探讨如何将其线性化。 \end{equation} 最大最小约束 最大最小约束(或最小最大约束),可以将优化目标用一个自变量代替,然后补充满足条件的自变量的约束条件即可。
之前曾在iOS 优化-瘦身文章中提到过 iOS 优化将会是一个专题,今天就带来 iOS 优化系列的第二篇,主要介绍一下启动优化,即如何减少应用的启动时间。 App 启动过程 在优化之前,我们需要对 App 的完整启动过程有个了解,这样我们才能知道启动耗时分布的阶段、哪一个阶段可以被优化以及优化哪一个阶段 ROI 最高。 下面是一些常用的优化手段,优化起来易,防劣化起来难。 首屏渲染优化 这个阶段其实对 UI 渲染效率的提升了,优化手段也就是渲染优化方面的通用手段了。 参考资料 reducing-your-app-s-launch-time[6] 58 同城 App 性能治理实践-iOS 启动时间优化 iOS 优化篇 - 启动优化之 Clang 插桩实现二进制重排[7
Android 优化目录 ---- App 启动方式 冷启动 App 没有启动过或 App 进程被杀,系统中不存在该 App 进程,此时启动即为冷启动。 优化 布局优化 逻辑优化 必要且耗时的逻辑,考虑单独开线程执行 必要不耗时,按优先级高低依次执行 非必要的延迟初始化,等用到再初始化 针对冷启动的欺骗效果 使用 placeholder UI
Android 优化目录 ---- 交换数据格式 Google 推出的 Protocal Buffers 是一种更轻便高效的存储结构,但消耗内存较大。 SharePreferences 优化 当 SharedPreferences 文件还没有被加载到内存时,调用 getSharedPreferences 方法会初始化文件并读入内存,这容易导致 耗时更长 因此,最好的优化方法就是避免频繁地读写 SharedPreferences,减少无谓的调用。 数据库优化 使用 StringBuilder 代替 String 查询时返回更少的结果集及更少的字段 查询时只取需要的字段和结果集,更多的结果集会消耗更多的时间及内存,更多的字段会导致更多的内存消耗 实际多表操作在被实际执行前,查询优化器会根据连接条件,列出几组可能的连接方案并从中找出系统开销最小的最佳方案 查询列与索引列次序一致 用多表连接代替 EXISTS 子句 把过滤记录数最多的条件放在最前面
Android 优化目录 ---- 优化的意义 减少 OOM,提高应用稳定性。 减少卡顿,提高应用流畅度。 减少内存占用,提高应用后台运行时的存活率。 减少异常发生,减少代码逻辑隐患。 refWatcher.watch(activity); } }); return refWatcher; } } } 内存优化 @IntDef,@StringDef 代替枚举 zipalign 优化 apk 节制使用 Service 如果需要使用 Service 来执行后台任务,一定要任务正在执行的时候才启动 Service switch (level) { case TRIM_MEMORY_UI_HIDDEN: // 释放资源 break; } } 图片优化
Android 优化目录 ---- Android 5.0 后用 Battery Historian 工具分析电量。 WakeLock Android 系统本身为了优化电量的使用,会在没有操作时进入休眠状态,来节省电量。 优化建议 优化网络请求 在蜂窝移动网络下,最好做到批量执行网络请求,尽量避免频繁的间隔网络请求,尽量多地保持在 Radio Standby 状态。 可以在代码中调起电量优化的设计页面,让用户选择是否将应用加入白名单,以在 Doze 模式下能够做一些事情。 // Remove the listener you previously added locationManager.removeUpdates(locationListener); 计算优化
(13[0-9]|14[5-9]|15[012356789]|166|17[0-8]|18[0-9]|19[8-9])[0-9]{8}$/ 这样就可以对手机号码格式进行相对严谨进行校验了。 /^(13[0-9]|14[5-9]|15[012356789]|166|17[0-8]|18[0-9]|19[8-9])[0-9]{8}$/ 由于电信199、移动198、联通166号段刚刚发布,所以很多网站和 let valid_rule =/^(13[0-9]|14[5-9]|15[012356789]|166|17[0-8]|18[0-9]|19[8-9])[0-9]{8}$/;// 手机号码校验规则 if