解释这行代码 ruby 代码 (number.to_s =~ /\.\d*[^0]/ ? number.to_s.sub(/.*(\..[^0]*)0+$/, '\1') : number.to_i.to_s + '')

时间: 2024-06-06 12:10:19 浏览: 6
这行代码是一个条件语句,使用了正则表达式。如果一个数字有小数部分且该小数部分不以零结尾,则返回该数字的小数部分。如果数字没有小数部分或者小数部分以零结尾,则返回该数字的整数部分。具体地,首先将数字转换为字符串格式,然后使用正则表达式匹配其小数部分,如果小数部分不以零结尾,则将小数部分返回,否则将整数部分返回。如果数字本身就是整数,则直接将其转为字符串格式。
相关问题

require 'net/http' urls = ['http://www.example.com/1.html', 'http://www.example.com/2.html'] uri = URI.parse('http://data.zz.baidu.com/urls?site=https://3gqq.cn&token=LA8UpYR7d3zCQ2RL') req = Net::HTTP::Post.new(uri.request_uri) req.body = urls.join("\n") req.content_type = 'text/plain' res = Net::HTTP.start(uri.hostname, uri.port) { |http| http.request(req) } puts res.body翻译成asp.net源码

以下是将 Ruby 代码转换为 ASP.NET 源码的示例: ```csharp using System.Collections.Generic; using System.Net; using System.Text; var urls = new List<string> { "http://www.example.com/1.html", "http://www.example.com/2.html" }; var url = "http://data.zz.baidu.com/urls?site=https://3gqq.cn&token=LA8UpYR7d3zCQ2RL"; var request = WebRequest.Create(url) as HttpWebRequest; request.Method = "POST"; request.ContentType = "text/plain"; var postData = string.Join("\n", urls); var encoding = new UTF8Encoding(); var bytes = encoding.GetBytes(postData); request.ContentLength = bytes.Length; using (var requestStream = request.GetRequestStream()) { requestStream.Write(bytes, 0, bytes.Length); } using (var response = request.GetResponse() as HttpWebResponse) { var responseStream = response.GetResponseStream(); var reader = new StreamReader(responseStream, Encoding.UTF8); var responseString = reader.ReadToEnd(); // 处理响应内容 } ``` 这段代码使用了 .NET Framework 内置的 `HttpWebRequest` 类来向百度搜索引擎发送推送请求。其中,`urls` 和 `url` 分别表示待推送链接列表和推送请求的 URL。通过 `request.Method` 设置请求方法为 POST,`request.ContentType` 设置请求头中的 Content-Type 参数,`request.ContentLength` 设置请求体的长度,模拟了 Ruby 代码中的请求设置。最后,通过 `request.GetRequestStream` 方法获取请求流,将待推送链接列表写入请求流中,并通过 `request.GetResponse` 方法获取响应对象,从响应流中读取响应内容。

def unzip_infer_data(src_path,target_path): ''' 解压预测数据集 ''' if(not os.path.isdir(target_path)): z = zipfile.ZipFile(src_path, 'r') z.extractall(path=target_path) z.close() def load_image(img_path): ''' 预测图片预处理 ''' img = Image.open(img_path) if img.mode != 'RGB': img = img.convert('RGB') img = img.resize((224, 224), Image.BILINEAR) img = np.array(img).astype('float32') img = img.transpose((2, 0, 1)) # HWC to CHW img = img/255 # 像素值归一化 return img infer_src_path = '/home/aistudio/data/data55032/archive_test.zip' infer_dst_path = '/home/aistudio/data/archive_test' unzip_infer_data(infer_src_path,infer_dst_path) para_state_dict = paddle.load("MyCNN") model = MyCNN() model.set_state_dict(para_state_dict) #加载模型参数 model.eval() #验证模式 #展示预测图片 infer_path='data/archive_test/alexandrite_6.jpg' img = Image.open(infer_path) plt.imshow(img) #根据数组绘制图像 plt.show() #显示图像 #对预测图片进行预处理 infer_imgs = [] infer_imgs.append(load_image(infer_path)) infer_imgs = np.array(infer_imgs) label_dic = train_parameters['label_dict'] for i in range(len(infer_imgs)): data = infer_imgs[i] dy_x_data = np.array(data).astype('float32') dy_x_data=dy_x_data[np.newaxis,:, : ,:] img = paddle.to_tensor (dy_x_data) out = model(img) lab = np.argmax(out.numpy()) #argmax():返回最大数的索引 print("第{}个样本,被预测为:{},真实标签为:{}".format(i+1,label_dic[str(lab)],infer_path.split('/')[-1].split("_")[0])) print("结束") 以上代码进行DNN预测,根据这段代码写一段续写一段利用这个模型进行宝石预测的GUI界面,其中包含预测结果是否正确的判断功能

好的,以下是一个简单的GUI界面的代码,可以利用模型进行宝石预测,并且包含预测结果是否正确的判断功能。 ```python import tkinter as tk from tkinter import filedialog from PIL import Image, ImageTk import numpy as np import paddle class MyCNN(paddle.nn.Layer): # 省略模型定义,保持与上述代码一致 def unzip_infer_data(src_path,target_path): ''' 解压预测数据集 ''' if(not os.path.isdir(target_path)): z = zipfile.ZipFile(src_path, 'r') z.extractall(path=target_path) z.close() def load_image(img_path): ''' 预测图片预处理 ''' img = Image.open(img_path) if img.mode != 'RGB': img = img.convert('RGB') img = img.resize((224, 224), Image.BILINEAR) img = np.array(img).astype('float32') img = img.transpose((2, 0, 1)) # HWC to CHW img = img/255 # 像素值归一化 return img def predict(image_path, model): label_dic = train_parameters['label_dict'] data = load_image(image_path) dy_x_data = np.array(data).astype('float32') dy_x_data = dy_x_data[np.newaxis,:, : ,:] img = paddle.to_tensor(dy_x_data) out = model(img) lab = np.argmax(out.numpy()) #argmax():返回最大数的索引 return label_dic[str(lab)], label_dic def check_result(predicted_label, true_label): if predicted_label == true_label: return True else: return False class App: def __init__(self, root): self.root = root self.model = MyCNN() para_state_dict = paddle.load("MyCNN") self.model.set_state_dict(para_state_dict) self.model.eval() #验证模式 self.label_dic = train_parameters['label_dict'] self.true_label = '' self.predicted_label = '' self.result_label = '' self.canvas = tk.Canvas(root, width=300, height=300) self.canvas.pack(side='left') self.frame = tk.Frame(root) self.frame.pack(side='right', padx=10) self.select_image_button = tk.Button( self.frame, text='选择图片', command=self.select_image) self.select_image_button.pack(pady=10) self.predict_button = tk.Button( self.frame, text='预测', command=self.predict) self.predict_button.pack(pady=10) self.result_label = tk.Label(self.frame, text='') self.result_label.pack(pady=10) def select_image(self): file_path = filedialog.askopenfilename() if file_path: self.image_path = file_path self.show_image() def show_image(self): image = Image.open(self.image_path) image = image.resize((300, 300)) self.photo = ImageTk.PhotoImage(image) self.canvas.create_image(0, 0, anchor='nw', image=self.photo) def predict(self): if hasattr(self, 'image_path'): self.true_label = self.image_path.split('/')[-1].split("_")[0] self.predicted_label, label_dic = predict(self.image_path, self.model) result = check_result(self.predicted_label, self.true_label) if result: self.result_label.config(text='预测结果正确') else: self.result_label.config(text='预测结果错误') if __name__ == '__main__': infer_src_path = '/home/aistudio/data/data55032/archive_test.zip' infer_dst_path = '/home/aistudio/data/archive_test' unzip_infer_data(infer_src_path, infer_dst_path) train_parameters = {'label_dict': {'0': 'alexandrite', '1': 'aquamarine', '2': 'diamond', '3': 'emerald', '4': 'opal', '5': 'pearl', '6': 'peridot', '7': 'ruby', '8': 'sapphire', '9': 'spinel', '10': 'tanzanite', '11': 'topaz', '12': 'tourmaline', '13': 'tsavorite'}} root = tk.Tk() app = App(root) root.mainloop() ``` 你可以把以上代码保存为.py文件,在命令行中运行即可看到GUI界面。界面包含一个选择图片的按钮和一个预测按钮。选择图片后,点击预测按钮可以进行宝石预测,并且会显示预测结果是否正确。

相关推荐

“ bundler: failed to load command: pod (/opt/homebrew/Cellar/fastlane/2.211.0/libexec/bin/pod)RubyGems Environment:- RUBYGEMS VERSION: 3.0.3.1- RUBY VERSION: 2.6.10 (2022-04-12 patchlevel 210) [universal.arm64e-darwin22]- INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.6.0- USER INSTALLATION DIRECTORY: /Users/e125866/.gem/ruby/2.6.0- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby- GIT EXECUTABLE: /usr/local/bin/git- EXECUTABLE DIRECTORY: /usr/local/bin- SPEC CACHE DIRECTORY: /Users/e125866/.gem/specs- SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site- RUBYGEMS PLATFORMS:- ruby- universal-darwin-22- GEM PATHS:- /Library/Ruby/Gems/2.6.0- /Users/e125866/.gem/ruby/2.6.0- /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0- GEM CONFIGURATION:- :update_sources => true- :verbose => true- :backtrace => false- :bulk_threshold => 1000- :sources => ["https://gems.ruby-china.com/"]- :concurrent_downloads => 8- REMOTE SOURCES:- https://gems.ruby-china.com/- SHELL PATH:- /opt/apache-maven-3.8.6/bin- /opt/homebrew/bin- /opt/homebrew/sbin- /usr/local/bin- /System/Cryptexes/App/usr/bin- /usr/bin- /bin- /usr/sbin- /sbin- /usr/local/sbin- /Library/Apple/usr/bin- /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin- /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin- /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin- /Users/e125866/.rvm/bin”这个有问题吗?

Started GET "/notebooks/" for 127.0.0.1 at 2023-07-14 09:59:56 +0800 Processing by NotebooksController#index as HTML Completed 500 Internal Server Error in 1ms (ActiveRecord: 0.0ms) NoMethodError (undefined method all' for Notebook:Module): app/controllers/notebooks_controller.rb:4:in index' Rendered /home/meiyi/.asdf/installs/ruby/2.6.9/lib/ruby/gems/2.6.0/gems/actionpack-4.2.11.3/lib/action_dispatch/middleware/templates/rescues/_source.erb (2.2ms) Rendered /home/meiyi/.asdf/installs/ruby/2.6.9/lib/ruby/gems/2.6.0/gems/actionpack-4.2.11.3/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1ms) Rendered /home/meiyi/.asdf/installs/ruby/2.6.9/lib/ruby/gems/2.6.0/gems/actionpack-4.2.11.3/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.5ms) Rendered /home/meiyi/.asdf/installs/ruby/2.6.9/lib/ruby/gems/2.6.0/gems/actionpack-4.2.11.3/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (9.8ms) Rendered /home/meiyi/.asdf/installs/ruby/2.6.9/lib/ruby/gems/2.6.0/gems/web-console-2.3.0/lib/web_console/templates/_markup.html.erb (0.2ms) Rendered /home/meiyi/.asdf/installs/ruby/2.6.9/lib/ruby/gems/2.6.0/gems/web-console-2.3.0/lib/web_console/templates/_inner_console_markup.html.erb within layouts/inlined_string (0.2ms) Rendered /home/meiyi/.asdf/installs/ruby/2.6.9/lib/ruby/gems/2.6.0/gems/web-console-2.3.0/lib/web_console/templates/_prompt_box_markup.html.erb within layouts/inlined_string (0.2ms) Rendered /home/meiyi/.asdf/installs/ruby/2.6.9/lib/ruby/gems/2.6.0/gems/web-console-2.3.0/lib/web_console/templates/style.css.erb within layouts/inlined_string (0.1ms) Rendered /home/meiyi/.asdf/installs/ruby/2.6.9/lib/ruby/gems/2.6.0/gems/web-console-2.3.0/lib/web_console/templates/console.js.erb within layouts/javascript (8.4ms) Rendered /home/meiyi/.asdf/installs/ruby/2.6.9/lib/ruby/gems/2.6.0/gems/web-console-2.3.0/lib/web_console/templates/main.js.erb within layouts/javascript (0.1ms) Rendered /home/meiyi/.asdf/installs/ruby/2.6.9/lib/ruby/gems/2.6.0/gems/web-console-2.3.0/lib/web_console/templates/error_page.js.erb within layouts/javascript (0.2ms) Rendered /home/meiyi/.asdf/installs/ruby/2.6.9/lib/ruby/gems/2.6.0/gems/web-console-2.3.0/lib/web_console/templates/index.html.erb (15.1ms)

最新推荐

recommend-type

51单片机与Matlab串口通讯、GUI设计方法附单片机、Matlab源程序、效果图

51单片机与Matlab串口通讯、GUI设计方法附单片机、Matlab源程序、效果图 51单片机与Matlab串口通讯、GUI设计方法附单片机、Matlab源程序、效果图 51单片机与Matlab串口通讯、GUI设计方法附单片机、Matlab源程序、效果图 51单片机与Matlab串口通讯、GUI设计方法附单片机、Matlab源程序、效果图 51单片机与Matlab串口通讯、GUI设计方法附单片机、Matlab源程序、效果图 51单片机与Matlab串口通讯、GUI设计方法附单片机、Matlab源程序、效果图 51单片机与Matlab串口通讯、GUI设计方法附单片机、Matlab源程序、效果图 51单片机与Matlab串口通讯、GUI设计方法附单片机、Matlab源程序、效果图 51单片机与Matlab串口通讯、GUI设计方法附单片机、Matlab源程序、效果图 51单片机与Matlab串口通讯、GUI设计方法附单片机、Matlab源程序、效果图 51单片机与Matlab串口通讯、GUI设计方法附单片机、Matlab源程序、效果图
recommend-type

Matlab语言教程&案例&相关项目报告

本资源是一部针对电子工程及其他专业领域,深入讲解如何使用MATLAB进行仿真的详尽教程,同时提供一系列实际项目报告,旨在帮助学生和工程师掌握通过仿真技术来设计和验证复杂系统的能力。 MATLAB,作为工程师和研究者的首选数值计算和仿真工具,以其强大的功能和广泛的应用领域著称。本教程从基础的MATLAB编程知识讲起,逐步引导学习者进入更高级的仿真应用,特别着重于电子工程领域的实际应用,如电路设计、信号处理和控制系统等。 在内容安排上,本教程首先介绍MATLAB的基本操作和界面,确保初学者能够快速入门。随后深入讲解MATLAB中的关键工具箱,例如Simulink,这些工具箱对于进行复杂系统的仿真至关重要。教程将通过一系列精选的例子,演示如何建立模型、运行仿真以及结果分析,使学习者能够理解并应用这些工具于具体问题。 此外,教程还提供了多个完整的项目案例,每个案例都附带详细的报告,这些报告不仅阐述了项目的设计理念和实施步骤,还提供了仿真过程和结果分析的具体信息。通过这些实际案例的学习,用户可以更好地理解如何将理论知识应用于解决实际工程问题,并学会如何编写专业的项目报告。
recommend-type

GO婚礼设计创业计划:技术驱动的婚庆服务

"婚礼GO网站创业计划书" 在创建婚礼GO网站的创业计划书中,创业者首先阐述了企业的核心业务——GO婚礼设计,专注于提供计算机软件销售和技术开发、技术服务,以及与婚礼相关的各种服务,如APP制作、网页设计、弱电工程安装等。企业类型被定义为服务类,涵盖了一系列与信息技术和婚礼策划相关的业务。 创业者的个人经历显示了他对行业的理解和投入。他曾在北京某科技公司工作,积累了吃苦耐劳的精神和实践经验。此外,他在大学期间担任班长,锻炼了团队管理和领导能力。他还参加了SYB创业培训班,系统地学习了创业意识、计划制定等关键技能。 市场评估部分,目标顾客定位为本地的结婚人群,特别是中等和中上收入者。根据数据显示,广州市内有14家婚庆公司,该企业预计能占据7%的市场份额。广州每年约有1万对新人结婚,公司目标接待200对新人,显示出明确的市场切入点和增长潜力。 市场营销计划是创业成功的关键。尽管文档中没有详细列出具体的营销策略,但可以推断,企业可能通过线上线下结合的方式,利用社交媒体、网络广告和本地推广活动来吸引目标客户。此外,提供高质量的技术解决方案和服务,以区别于竞争对手,可能是其市场差异化策略的一部分。 在组织结构方面,未详细说明,但可以预期包括了技术开发团队、销售与市场部门、客户服务和支持团队,以及可能的行政和财务部门。 在财务规划上,文档提到了固定资产和折旧、流动资金需求、销售收入预测、销售和成本计划以及现金流量计划。这表明创业者已经考虑了启动和运营的初期成本,以及未来12个月的收入预测,旨在确保企业的现金流稳定,并有可能享受政府对大学生初创企业的税收优惠政策。 总结来说,婚礼GO网站的创业计划书详尽地涵盖了企业概述、创业者背景、市场分析、营销策略、组织结构和财务规划等方面,为初创企业的成功奠定了坚实的基础。这份计划书显示了创业者对市场的深刻理解,以及对技术和婚礼行业的专业认识,有望在竞争激烈的婚庆市场中找到一席之地。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

【基础】PostgreSQL的安装和配置步骤

![【基础】PostgreSQL的安装和配置步骤](https://img-blog.csdnimg.cn/direct/8e80154f78dd45e4b061508286f9d090.png) # 2.1 安装前的准备工作 ### 2.1.1 系统要求 PostgreSQL 对系统硬件和软件环境有一定要求,具体如下: - 操作系统:支持 Linux、Windows、macOS 等主流操作系统。 - CPU:推荐使用多核 CPU,以提高数据库处理性能。 - 内存:根据数据库规模和并发量确定,一般建议 8GB 以上。 - 硬盘:数据库文件和临时文件需要占用一定空间,建议预留足够的空间。
recommend-type

字节跳动面试题java

字节跳动作为一家知名的互联网公司,在面试Java开发者时可能会关注以下几个方面的问题: 1. **基础技能**:Java语言的核心语法、异常处理、内存管理、集合框架、IO操作等是否熟练掌握。 2. **面向对象编程**:多态、封装、继承的理解和应用,可能会涉及设计模式的提问。 3. **并发编程**:Java并发API(synchronized、volatile、Future、ExecutorService等)的使用,以及对并发模型(线程池、并发容器等)的理解。 4. **框架知识**:Spring Boot、MyBatis、Redis等常用框架的原理和使用经验。 5. **数据库相
recommend-type

微信行业发展现状及未来发展趋势分析

微信行业发展现状及未来行业发展趋势分析 微信作为移动互联网的基础设施,已经成为流量枢纽,月活跃账户达到10.4亿,同增10.9%,是全国用户量最多的手机App。微信的活跃账户从2012年起步月活用户仅为5900万人左右,伴随中国移动互联网进程的不断推进,微信的活跃账户一直维持稳步增长,在2014-2017年年末分别达到5亿月活、6.97亿月活、8.89亿月活和9.89亿月活。 微信月活发展历程显示,微信的用户数量增长已经开始呈现乏力趋势。微信在2018年3月日活达到6.89亿人,同比增长5.5%,环比上个月增长1.7%。微信的日活同比增速下滑至20%以下,并在2017年年底下滑至7.7%左右。微信DAU/MAU的比例也一直较为稳定,从2016年以来一直维持75%-80%左右的比例,用户的粘性极强,继续提升的空间并不大。 微信作为流量枢纽,已经成为移动互联网的基础设施,月活跃账户达到10.4亿,同增10.9%,是全国用户量最多的手机App。微信的活跃账户从2012年起步月活用户仅为5900万人左右,伴随中国移动互联网进程的不断推进,微信的活跃账户一直维持稳步增长,在2014-2017年年末分别达到5亿月活、6.97亿月活、8.89亿月活和9.89亿月活。 微信的用户数量增长已经开始呈现乏力趋势,这是因为微信自身也在重新寻求新的增长点。微信日活发展历程显示,微信的用户数量增长已经开始呈现乏力趋势。微信在2018年3月日活达到6.89亿人,同比增长5.5%,环比上个月增长1.7%。微信的日活同比增速下滑至20%以下,并在2017年年底下滑至7.7%左右。 微信DAU/MAU的比例也一直较为稳定,从2016年以来一直维持75%-80%左右的比例,用户的粘性极强,继续提升的空间并不大。因此,在整体用户数量开始触达天花板的时候,微信自身也在重新寻求新的增长点。 中国的整体移动互联网人均单日使用时长已经较高水平。18Q1中国移动互联网的月度总时长达到了77千亿分钟,环比17Q4增长了14%,单人日均使用时长达到了273分钟,环比17Q4增长了15%。而根据抽样统计,社交始终占据用户时长的最大一部分。2018年3月份,社交软件占据移动互联网35%左右的时长,相比2015年减少了约10pct,但仍然是移动互联网当中最大的时长占据者。 争夺社交软件份额的主要系娱乐类App,目前占比达到约32%左右。移动端的流量时长分布远比PC端更加集中,通常认为“搜索下載”和“网站导航”为PC时代的流量枢纽,但根据统计,搜索的用户量约为4.5亿,为各类应用最高,但其时长占比约为5%左右,落后于网络视频的13%左右位于第二名。PC时代的网络社交时长占比约为4%-5%,基本与搜索相当,但其流量分发能力远弱于搜索。 微信作为移动互联网的基础设施,已经成为流量枢纽,月活跃账户达到10.4亿,同增10.9%,是全国用户量最多的手机App。微信的活跃账户从2012年起步月活用户仅为5900万人左右,伴随中国移动互联网进程的不断推进,微信的活跃账户一直维持稳步增长,在2014-2017年年末分别达到5亿月活、6.97亿月活、8.89亿月活和9.89亿月活。 微信的用户数量增长已经开始呈现乏力趋势,这是因为微信自身也在重新寻求新的增长点。微信日活发展历程显示,微信的用户数量增长已经开始呈现乏力趋势。微信在2018年3月日活达到6.89亿人,同比增长5.5%,环比上个月增长1.7%。微信的日活同比增速下滑至20%以下,并在2017年年底下滑至7.7%左右。 微信DAU/MAU的比例也一直较为稳定,从2016年以来一直维持75%-80%左右的比例,用户的粘性极强,继续提升的空间并不大。因此,在整体用户数量开始触达天花板的时候,微信自身也在重新寻求新的增长点。 微信作为移动互联网的基础设施,已经成为流量枢纽,月活跃账户达到10.4亿,同增10.9%,是全国用户量最多的手机App。微信的活跃账户从2012年起步月活用户仅为5900万人左右,伴随中国移动互联网进程的不断推进,微信的活跃账户一直维持稳步增长,在2014-2017年年末分别达到5亿月活、6.97亿月活、8.89亿月活和9.89亿月活。 微信的用户数量增长已经开始呈现乏力趋势,这是因为微信自身也在重新寻求新的增长点。微信日活发展历程显示,微信的用户数量增长已经开始呈现乏力趋势。微信在2018年3月日活达到6.89亿人,同比增长5.5%,环比上个月增长1.7%。微信的日活同比增速下滑至20%以下,并在2017年年底下滑至7.7%左右。 微信DAU/MAU的比例也一直较为稳定,从2016年以来一直维持75%-80%左右的比例,用户的粘性极强,继续提升的空间并不大。因此,在整体用户数量开始触达天花板的时候,微信自身也在重新寻求新的增长点。 微信作为移动互联网的基础设施,已经成为流量枢纽,月活跃账户达到10.4亿,同增10.9%,是全国用户量最多的手机App。微信的活跃账户从2012年起步月活用户仅为5900万人左右,伴随中国移动互联网进程的不断推进,微信的活跃账户一直维持稳步增长,在2014-2017年年末分别达到5亿月活、6.97亿月活、8.89亿月活和9.89亿月活。 微信的用户数量增长已经开始呈现乏力趋势,这是因为微信自身也在重新寻求新的增长点。微信日活发展历程显示,微信的用户数量增长已经开始呈现乏力趋势。微信在2018年3月日活达到6.89亿人,同比增长5.5%,环比上个月增长1.7%。微信的日活同比增速下滑至20%以下,并在2017年年底下滑至7.7%左右。 微信DAU/MAU的比例也一直较为稳定,从2016年以来一直维持75%-80%左右的比例,用户的粘性极强,继续提升的空间并不大。因此,在整体用户数量开始触达天花板的时候,微信自身也在重新寻求新的增长点。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依
recommend-type

【基础】安装MySQL:从下载到配置的完整指南

![python数据库编程合集](https://opengraph.githubassets.com/f5c38590c64cc0ea56ef235eff4fb5d5675e3c699a36ce388d1ffc280bd77681/mongodb/mongo-python-driver) # 1. MySQL数据库简介 MySQL是一种开源的关系型数据库管理系统(RDBMS),因其高性能、可扩展性和易用性而闻名。它广泛应用于各种规模的应用程序,从小型网站到大型企业系统。 MySQL使用结构化查询语言(SQL)来管理数据。SQL是一种标准化语言,允许用户通过简单的命令创建、读取、更新和删除
recommend-type

# 请根据注释在下面补充你的代码实现knn算法的过程 # ********** Begin ********** # # 对ndarray数组进行遍历

K-Nearest Neighbors (KNN) 算法是一种基于实例的学习方法,用于分类和回归分析。在代码中,实现KNN的基本步骤如下: ```python # 导入必要的库 import numpy as np from collections import Counter # 假设我们有一个训练数据集 X_train 和对应的标签 y_train X_train = ... # (n_samples, n_features) y_train = ... # (n_samples) # KNN函数实现 def knn_k(X_test, k, X_train, y_train):