当前位置: 首页 > news >正文

高要区公路建设规划局网站弓长岭网站建设

高要区公路建设规划局网站,弓长岭网站建设,本周时政新闻热点10条,影视公司起名文章目录 1 前言2 几个循环2.1 100以内的和2.2 100以内奇数和/偶数和 3 多重循环3.1 向量化3.2 合并循环3.3 apply函数3.4 矩阵运算3.5 foreach分解任务 4 讨论 1 前言 笔者主力机是MBAM1芯片#xff08;8256#xff09;#xff0c;某个下午巩固循环突然思考到个问题#… 文章目录 1 前言2 几个循环2.1 100以内的和2.2 100以内奇数和/偶数和 3 多重循环3.1 向量化3.2 合并循环3.3 apply函数3.4 矩阵运算3.5 foreach分解任务 4 讨论 1 前言 笔者主力机是MBAM1芯片8256某个下午巩固循环突然思考到个问题小循环很快就能run出来中循环还勉勉强强稍微上点强度就运行的很慢。虽然是CPU占用100%8颗核心好像是偷着懒跑的但是丢给我那台4核心8线程黑苹果是跑满的说明ARM在多线程的时候有点东西 下图是计算一个10亿内训练模型时的top 2 几个循环 2.1 100以内的和 ### for sum - 0 for (i in 1:100) {sum - sum i } print(sum)### while sum - 0 i - 1 while (i 100) {sum - sum ii - i 1 } print(sum)2.2 100以内奇数和/偶数和 ### for odd_sum - 0 even_sum - 0for (i in 1:100) {if (i %% 2 0) {even_sum - even_sum i} else {odd_sum - odd_sum i} }print(paste(奇数和, odd_sum)) print(paste(偶数和, even_sum))### while odd_sum - 0 even_sum - 0 i - 1while (i 100) {if (i %% 2 0) {even_sum - even_sum i} else {odd_sum - odd_sum i}i - i 1 }print(paste(奇数和, odd_sum)) print(paste(偶数和, even_sum))3 多重循环 以下仅记录和提供思路具体情况具体分析但是有一点思维模式很得益 3.1 向量化 假设计算两个向量x和y的点积使用for循环分别游历相乘再相加 x - c(1, 2, 3, 4, 5) y - c(5, 4, 3, 2, 1) dot_product - 0 for (i in 1:length(x)) {dot_product - dot_product x[i] * y[i] } print(dot_product)向量化可以理解为对号入座亮点就是sum()和* x - c(1, 2, 3, 4, 5) y - c(5, 4, 3, 2, 1) dot_product - sum(x * y) print(dot_product)3.2 合并循环 假设对两个矩阵A和B中的每个元素进行遍历将它们相加并将结果保存到矩阵C中。可以使用两个嵌套的for循环实现 A - matrix(1:9, 3, 3) B - matrix(10:18, 3, 3) C - matrix(0, 3, 3) for (i in 1:nrow(A)) {for (j in 1:ncol(A)) {C[i, j] - A[i, j] B[i, j]} } print(C)#输出结果[,1] [,2] [,3] [1,] 11 13 15 [2,] 17 19 21 [3,] 23 25 27但是理解这类的目的合并循环的思路在这里刚好就是矩阵一一对应的数字相加 A - matrix(1:9, 3, 3) B - matrix(10:18, 3, 3) C - A B print(C)3.3 apply函数 假设有一个3x3的二维矩阵mat需要将矩阵中每个元素求平方。我们可以使用for循环来实现 mat - matrix(1:9, 3, 3) result - matrix(0, 3, 3) for (i in 1:nrow(mat)) {for (j in 1:ncol(mat)) {result[i, j] - mat[i, j] ^ 2} } print(result)用applyfunction mat - matrix(1:9, 3, 3) result - apply(mat, c(1, 2), function(x) x^2) print(result) 3.4 矩阵运算 假设需要计算一个矩阵A的逆矩阵使用for循环和矩阵运算实现 A - matrix(c(1, 2, 3, 4), 2, 2) det_A - A[1, 1] * A[2, 2] - A[1, 2] * A[2, 1] adj_A - matrix(c(A[2, 2], -A[1, 2], -A[2, 1], A[1, 1]), 2, 2) A_inv - adj_A / det_A print(A_inv)#输出结果[,1] [,2] [1,] -2.0 1.0 [2,] 1.5 -0.5若要优化这一步骤很简单直接用solve() A - matrix(c(1, 2, 3, 4), 2, 2) A_inv - solve(A) print(A_inv)3.5 foreach分解任务 用foreach包实现多线程for循环 library(foreach) library(doParallel)# 创建一个1000行1000列的矩阵 m - matrix(runif(1000000), nrow 1000)# 初始化并行计算环境 cl - makeCluster(detectCores()) registerDoParallel(cl)# 使用foreach包和%dopar%运算符进行并行计算 result - foreach(i 1:nrow(m), .combine ) %dopar% sum(m[i, ])# 结束并行计算环境 stopCluster(cl)# 输出结果 print(result) 有人会说这不就是用了个函数吗 是但又不完全是不然为何有人懂得用这个函数但有人需要一步一步算并非说一步一步算不好只有自己算过理解了才懂得去挖掘深度化繁为简 4 讨论 如果只知道个函数是知其然而不知其所以然但是只知道计算过程便如优化前的一样一步一步计算。得益于现在互联网发展的飞起各种便利工具各种开源方法几乎人人都是调包侠但是当现成的辅佐无法满足时还是需要回归底层。最近深有感触不论是数据挖掘、还是机器学习深度学习、人工智能、全栈分析的尽头就是算法。
http://www.hkea.cn/news/14434062/

相关文章:

  • 淘宝联盟交钱建设网站最好的网站排名优化工作室
  • 用vs2012做简单网站深圳专业建设网站
  • 建设银行可以查房贷的网站珠江新城越秀金融大厦
  • 西安网站建设云阔怎么用思维导图做网站结构图
  • 自助模块化网站建设成都铁路局贵阳建设指挥部网站
  • 公司网站怎么修改内容长沙网站建设价
  • 合肥电脑网站建站wordpress 图片墙
  • 如何在淘宝上接单网站建设做任务赚佣金一单10块
  • 网站模块桐梓县工程建设交易网站
  • 网站模板被抄袭怎么办沈阳城市建设学院官方网站
  • 南宁好的网站建设公司建行信用卡网站官网入口
  • 网站备案程序盐城集团网站建设
  • 织梦网站去除技术支持在线定制网站官网
  • 重庆网站制作如意影院
  • 郑州网站排名优化公司投资公司取名
  • 龙口网站建设哪家好新手学做网站看什么书
  • 小说网站怎么做原创专门做二手手机的网站
  • 网站制作视频教程大全淘宝手机版网页
  • 百姓网站外推广怎么做网站开发的相关语言有哪些
  • 做pc端网站要多少钱国家商标局
  • 电子商务网站的实施包括哪些步骤广告设计图片 海报
  • 做网站现在好弄么动漫制作专业个人简历
  • 做任务的网站asp sql网站安全性
  • 如何让网站被百度收录已有域名怎么做网站
  • 权威网站营销推广活动策划
  • 宿州网站制作建设设计科技公司官网
  • 犀牛云网站做的怎么样深圳效果好的免费网站建设
  • 免费做网站平台十大最免费软件排行榜
  • 地产项目网站建设ppt大型电子商务网站需要配服务器
  • 怎么做动漫照片下载网站超市营销型网站建设策划书