自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Icarus_的学习笔记

业精于勤,荒于嬉

  • 博客(149)
  • 收藏
  • 关注

原创 Android app如何禁止运行在模拟器中

请注意,没有完美的方法来检测所有模拟器,因为模拟器们的开发者可能会模仿真实设备的属性。由于模拟器可以伪造这些值,因此某些精心设计的模拟器可能会通过这些检测。此外,这些检测方法可能会随着 Android 系统和模拟器技术的更新而需要相应的更新。禁止 Android 应用程序在模拟器上运行涉及到在运行时检测应用是否在模拟器上运行,并根据情况做出相应的处理。还要考虑到,禁止在模拟器上运行可能会影响那些合法使用模拟器进行测试和开发工作的用户。这个方法检查了多个系统属性,这些系统属性是模拟器的常见标识。

2024-04-10 17:50:17 560

原创 为什么android创建Fragment推荐用newInstance

实例并同时提供参数的一种标准模式。这种模式通常称为静态工厂方法模式,在Android开发中被广泛使用,尤其是用于。应该有一个空的构造函数,以便在配置更改和重建的时候系统能够重新实例化它们。的单例,每次调用都会生成一个新的实例。通常情况下,每次需要显示对话框时,都创建对话框的新实例是最佳实践。(例如,在内存不足时杀死进程后恢复、设备旋转或其他配置更改)时,提供的。这意味着使用过这种模式创建的。需要的参数和创建过程封装在一起,使外部代码不直接与。方法不是因为它是一个单例,而是因为这是创建。参数的官方推荐方式。

2024-04-04 17:22:17 661

原创 flutter中的ListView单元测试

在 Flutter 中,你可能会希望测试ListView内容是否如预期那样显示,是否能够正确滚动,以及是否处理用户输入。以下是测试ListView。

2024-04-03 16:47:00 529

原创 flutter 单测报错 ERROR:D8: Cannot fit requested classes in a single dex file (# methods: 113087 > 65536)

在 Android 中,一个单独的 DEX(Dalvik Executable)文件有方法数量的限制,即每个 DEX 文件不能包含超过 64K(65536)个方法。是 21 或更高,那么你不需要在 Application 类中做任何工作,因为 Android 5.0 及以上版本支持多个 DEX 文件,并且 ART 运行时支持 MultiDex。完成以上步骤后,你应该能够避免方法数超出限制的问题,因为现在应用支持多 DEX 文件了。属性,并确保它指向你的 Application 类,

2024-04-03 16:23:59 318

原创 flutter一个bloc可以对应多个state

在 Flutter 的 Bloc 库中,一个 Bloc 可以对应多个 State,这正是 Bloc 架构的一个关键设计原则。一个 Bloc 过程中,可能会经历多个不同的状态,以此来反映应用的不同部分的变化。总之,Bloc 并不局限于仅与单个状态对应,它可以和一系列的状态有关联,并通过事件触发不同状态的转换。这种能力使得 Bloc 很适合于复杂的应用状态管理,因为它可以详细地捕获和响应用户的交互,以及应用中发生的其他事件,并且能灵活地以状态变化表达出来。函数可以在 Bloc 内部更改和发出新的状态。

2024-04-03 16:22:59 364

原创 flutter 打包成web应用后怎么通过url跳转页面

在 Flutter 中,如果你想要在打包成 Web 应用后通过 URL 跳转页面,你可以利用 Flutter 提供的路由导航系统和 URL 策略。

2024-03-28 19:34:14 392

原创 flutter boost 如何从native跳转到flutter页面

在你的 Flutter 项目中集成 Flutter Boost 插件。在上面的示例中,Flutter Boost 使用 `registerPageBuilders` 方法来注册页面名称和对应的构造函数映射。这里的 `"flutterPage"` 是你希望跳转到的 Flutter 页面的名称,你需要在 Flutter 代码中对它进行注册。在你的 Flutter 代码中,注册你希望从原生跳转到的页面。在你的原生代码中,调用 Flutter Boost 提供的方法来打开一个 Flutter 页面。

2024-03-27 17:32:39 621

原创 CodeGeex论文阅读

《CodeGeeX: A Pre-Trained Model for Code Generation with Multilingual Evaluations on HumanEval-X》论文地址:https://arxiv.org/pdf/2303.17568.pdf代码地址:https://github.com/THUDM/CodeGeCodeGeeX,是一个具有130亿个参数的多语言模型,用于代码生成,在23种编程语言的8500亿个token上进行了预训练。CodeGeeX的特点(1)CodeGe

2023-07-16 13:17:54 1592

原创 静态词向量预训练模型

然而,传统的矩阵分解方法得到的词 向量不具备良好的几何性质,因此,结合词向量以及矩阵分解的思想,提出Glove ( Global Vectors for Word Representation)模型。词向量层也可以理解为一个查找表 (Lookup Table),获取词量的过程,也就是根据词的素引从查找表中找出对应位置的向量的过程。从词向量学习的角度来看,基于神经网络语言模型的预训练方法存在一个明显的缺点,即当对t时刻词进行预测时,模型只利用了历史词序列作为输人,而损失了与“未来”上下文之间的共现信息。

2023-04-01 21:42:16 1021 1

原创 pytorch 词性标注实战

基于 Transformer 实现词性标注相当于将基于 Transformer 实现的情感分类与基于 LSTM 实现的词性标注相融合。Transformer 层的实现与 Transformer 情感分类基本相同,只有在forward 函数中需要取序列中每个输人对应的隐含层并计算概率,而不是第1个 输入的隐含层(代表整个序列)。此处以 NITK 提供的宾州树库(Penn Treebank)样例数据为例,使用 LSTM 网络进行词性标注。基于循环神经网络的模型可以使用更长的上下文,因此更适合序列标注问题。

2023-03-26 13:56:54 620

原创 pytorch 实现情感分类问题

例如,如果在一个序列前面增加一个标记,则序列中的每个标记位置都变了,也就是它们对应的参数都发生了变化,那么模型预测的结果可能完全不同,这样显然不合理。如果输人为文本,即整数序列(假设已经利用词表映射工具将文本中每个标记映射为了相应的整数),在经过多层感知器之前,需要利用词向量层将输入的整数映射为向量。无论是深度学习还是传统的统计机器学习方法处理自然语言,都需要先将输入的语言符号(通常为标记Token),映射为大于等于0、小于词表大小的整数,该整数也被称作一个标记的索引值或下标。

2023-02-12 22:30:08 1918 3

原创 pytorch 梯度下降

首先,输出网络的参数值,包括两个线性映射层的权重和偏置项的值,然后,输出网络对训练数据的预测结果,[1, 0, 1, 0],其与原训练数据相同,说明该组参数能够正确地处理异或问题(即线性不可分问题)

2023-02-12 15:15:14 114

原创 pytorch 实现神经网络

在PyTorch 中构建一个自定义神经网络模型非常简单,就是从torch.nn 中的Module 类派生一个子类,并实现构造函数和 forward 函数。其中,构造函数定义了模型所需的成员对象,如构成该模型的各层,并对其中的参数进行初始化等。而forward 函数用来实现该模块的前向过程,即对输人进行逐层的处理,从而得到最终的输出结果。PyTorch 提供的基本张量存储及运算功能,就可以实现多种神经网络模型,但是这种实现方式不但难度高,而且容易出错。

2023-02-12 11:12:01 305

原创 自然语言处理 Transformer 模型

Transformer 模型

2023-02-04 22:26:23 1558 3

原创 pytorch 手写数字识别模型

【代码】pytorch 手写数字识别模型。

2023-01-29 14:52:22 231

原创 pytorch波士顿房价预测模型

【代码】pytorch波士顿房价预测模型。

2023-01-28 19:52:26 1323

原创 Android ABI

不同的 Android 设备使用不同的 CPU,而不同的 CPU 支持不同的指令集。CPU 与指令集的每种组合都有专属的应用二进制接口 (Application Binary Interface,ABI)常见的cpu架构现在在应用市场发布app必须要支持64位架构,并且必须有64位so文件。

2022-10-23 21:21:07 471

原创 客户端架构

主流架构演进与项目架构改造。

2022-09-20 11:51:15 894

原创 梯度下降法

1.什么是梯度下降法机器学习领域的一个重要的方法,叫做梯度下降法。那么梯度下降法和我们之前讲的knn算法或者线性回归算法不同。梯度下降法本身不是一个机器学习的算法,他既不是在做监督学习,也不是在做非监督学习,他不能用于解决回归问题或者分类问题,梯度下降法是一种基于搜索的最优化的方法。它虽然也是人工智能领域的一个非常重要的方法,但是它的作用是用于优化一个目标函数。那么对于我们要最小化一个损失函数的话,相应的使用的就是梯度下降法。而如果我们要最大化一个效用函数的话,相应的就应该使用梯度上升法。线性回归算法,

2022-05-22 22:05:18 731

原创 线性回归法

1.简单线性回归线性回归法跟我们在上一章所介绍的knn算法不同,knn算法主要用于解决分类问题,而线性回归算法则主要用于解决回归问题,对于现象回归算法来说,它也是思想非常简单,而且实现起来会非常容易,这里的实现容易,和他背后具有非常强的数学性质是相关的。那么这个相应的数学推导会稍微复杂一点,但也并不是特别难,但是由于有这种数学的支撑,使得我们的计算机的实现是很容易的。与此同时,线性回归法虽然非常简单,但是我们后面就会看到它是许多更加强大的非线性模型的基础,无论是多项式回归,逻辑回归甚至是svm,从某种程度

2022-05-22 16:28:53 1739

转载 使用飞桨重写波士顿房价预测任务

使用飞桨实现波士顿房价预测任务本教程中的案例覆盖计算机视觉、自然语言处理和推荐系统等主流应用场景,使用飞桨实现这些案例的流程基本一致,如图1所示。图1:使用飞桨框架构建神经网络过程在之前的章节中,我们学习了使用Python和NumPy实现波士顿房价预测任务的方法,本章我们将尝试使用飞桨重写房价预测任务,体会二者的异同。在数据处理之前,需要先加载飞桨框架的相关类库。In [1]#加载飞桨、NumPy和相关类库import paddlefrom paddle.nn...

2022-05-22 12:48:41 710

原创 NumPy 入门介绍

NumPy(Numerical Python的简称)是高性能科学计算和数据分析的基础包。NumPy具有如下功能:ndarray数组:一个具有矢量算术运算和复杂广播能力的多维数组,具有快速且节省空间的特点; 对整组数据进行快速运算的标准数学函数(无需编写循环); 线性代数、随机数生成以及傅里叶变换功能; 读写磁盘数据、操作内存映射文件。本质上

2022-05-22 12:48:24 416

转载 波士顿房价预测 使用Python语言和Numpy库来构建神经网络模

波士顿房价预测任务上一节我们初步认识了神经网络的基本概念(如神经元、多层连接、前向计算、计算图)和模型结构三要素(模型假设、评价函数和优化算法)。本节将以“波士顿房价预测”任务为例,向读者介绍使用Python语言和Numpy库来构建神经网络模型的思考过程和操作方法。波士顿房价预测是一个经典的机器学习任务,类似于程序员世界的“Hello World”。和大家对房价的普遍认知相同,波士顿地区的房价受诸多因素影响。该数据集统计了13种可能影响房价的因素和该类型房屋的均价,期望构建一个基于13个因素进行..

2022-05-08 16:37:57 5060 1

原创 kotlin进阶

八、Lambda 表达式高阶函数高阶函数是将函数作为参数或返回函数的函数 suspend fun <T : BaseRpcNetworkResult> executeRpc(block: suspend () -> BaseRpcNetworkResult): RpcResponse<T> { runCatching { block.invoke() }.onSuccess { data: B..

2022-05-06 15:05:10 1123

原创 最基础的分类算法-k近邻算法 kNN

01 kNN 基础import numpy as npimport matplotlib.pyplot as pltkNN 基础概念k近邻算法,全称是 K Nearest Neighbors,knn算法是一个非常适合大家入门机器学习的算法。这是因为knn算法他的思想极度简单,不仅如此,knn这么一个思想简单的算法,它的效果也出奇的好。 该方法的思路是:在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这个类别。 给定一个训练数据集,对新

2022-05-04 15:23:24 1938

原创 kotlin基础

kotlin 中的高阶函数高阶函数即指:将函数用作一个函数的参数或者返回值的函数。//block1 无参数无返回值函数类型 val block1: () -> Unit // block2 无参数返回值为 String 的函数类型 val block2: () -> String // block2 有一个 Int 类型的参数无返回值的函数类型 val block3: (Int) -> Unit // block4 有2个参数返回值

2022-04-26 23:13:41 2870

原创 六、NLP聊天机器人原理(seq2seq模型)

一、seq2seq模型1.概念(1)seq2seq是一个Encoder-Decoder结构的网络,它的输入是一个序列,输出也是一个序列。(2)Encoder中将一个可变长度的信号序列变为固定长度的向量表达,Decoder将这个固定长度的向量变成可变长度的目标的信号序列。(3)这个结构最重要的地方在于输入序列和输出序列的长度是可变的。(4)可以用于翻译,聊天机器人、句法分析、文本摘要等。2.encoder过程(1)取得输入的文本,进行embedding,生成向量(2)传入到LST

2022-01-17 15:49:53 3596 1

原创 五、NLP聊天语料处理

一、环境搭建sys (python系统库)pickle(将特有的类型与python的数据类型进行转换的库)re (正则表达式库)tqdm(可扩展的进度条)activate nlp,pip install tqdm --upgrade二、聊天机器人语料处理流程介绍1、语料收集:聊天记录、电影对话、台词片段2、语料清洗:清洗的内容:多余的空格,不正规的符号,多余的字符、英文清洗的方法:正则化,切分,好坏语句判断3、句子向量的编码化:原始的文本不能直接训练..

2021-12-22 22:54:21 3360 1

原创 四、NLP中的语言模型

一、语料的获取与处理1、什么是语料库?语料:即语言材料。语料是语言学研究的内容。语料是构成语料库的基本单元。语料库:存放的是在语言实际使用中真实出现过的语言材料,是以计算机为载体承载语言知识的基础资源。真实语料需要经过加工(分析、处理),才能成为有用的资源。2、语料库的种类异质的:语料有多种分类同质的:语料同类系统的:如聊天机器人专用的:如保险推销聊天机器人3、语料的获取途径1、开放性语料数据集:(1)中科院自动化所的中英文新闻语料库(2)搜狗的中文新闻语料库(3)人

2021-12-19 21:43:30 1172

原创 剖析Framework 4 Activity组件相关

参考文章

2021-12-14 16:34:42 311

原创 三、NLP基础 (朴素贝叶斯、隐马尔可夫)

一、什么是NLP1、自然语言处理(英语:natural language processing,缩写作 NLP )此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。这里的自然语言,一般包括两种。一种是指我们这说话的声音,也就说语音,另外一种是指文字。比如说我们写一篇文章,或者说跟客服进行聊天,那它属于文字。实际上就是指让电脑来理解人类的语言,因为无论是用文字也好还是用语音也好,它都属于人类的语言。2、自然语言处理的主要范畴1、文本分析,给你一段文章你要分析出相关

2021-12-14 16:21:40 4335

原创 二、循环神经网络(RNN与LSTM)

一、NLP基础1、常用的神经网络模型在做深度学习或者是人工智能相关的任务中。一般来讲,我们常用的网络模型有三种,第一种卷积神经网络。实际上也是前馈神经网络的一种,它主要包括这个点。地上。那么一般来讲呢,我们是拿这个准地心的网络来做一些跟图像相关的一些事情,比如说我们来做一个图像上市,比如说有一个说给一张老张片。1.1 卷积神经网络(Convolutional Neural Network,CNN) 是一种前馈神经网络, 它包括卷积层(convolutional layer) 和池化层(poo

2021-12-08 23:03:21 15771

原创 一、TensorFlow基础

1、TensorFlow框架介绍TensorFlow是什么◆谷歌基于DistBelief进行研发的第二代人工智能学习系统◆用于语音识别或图像识别等多项机器学习和深度学习领域◆将复杂的数据结构传输至人工智能神经网中进行分析和处理·支持CNN、RNN和LSTM算法,是目前在lmage,Speech和NLP最流行的深度神经网络模型2、TensorFlow系统框架从图中可以看到有三大部分组成,第一部分是一个前端框架,Front End。第二部分,就是中间的这个capi。第三部分是一个后.

2021-12-05 14:48:20 4378

原创 Android性能分析与优化学习(六)线程优化

一 、Android线程调度原理剖析1、线程调度原理任意时刻,只有一个线程占用CPU,处于运行状态多线程并发:轮流获取cpu使用权JVM负责线程调度:按照特定机制分配CPU使用权线程调度模型分时调度模型:轮流获取、均匀分配cpu时间抢占式调度模型:优先级高的获取,JVM采用2、Android线程调度(1)nice值Process中定义值越小,优先级越高默认是Process.THREAD_PRIORITY_DEFAULT,0问题:只有nice值并不足够,例如app又一个前台的U

2021-08-10 10:31:13 483

原创 Android性能分析与优化学习(五)卡顿优化

一 、卡顿介绍及优化工具选择对用户来说:很多性能问题不易被发现,但是卡顿很容易被直观感受对开发者来说:卡顿问题难以定位卡顿问题难在哪里:产生的原因错综复杂:代码、内存、绘制、IO?不易复现:与用户当时场景相关1、CPU Profiler图形的形式展示执行时间、调用栈等,信息全面,包含所有线程运行时开销严重,整体都会变慢使用方式Debug.startMethodTracing(“文件名”);//使用Debug.stopMethodTracing();//结束生成文件在sd卡:Andr

2021-08-10 09:52:43 468

原创 ARouter原理

一、编译过程1、注解我们在要跳转的Activity上面添加了@Route注解,ARouter 的自动注册是利用了编译期自定义注解的处理来完成的,我们看一下这个注解的定义:@Target({ElementType.TYPE})@Retention(RetentionPolicy.CLASS)public @interface Route{ String path(); String group() default ""; String name() default "";

2021-08-09 14:37:09 400

原创 Android性能分析与优化学习(四)布局优化

​一、绘制原理cpu负责计算显示内容GPU负责棚格化(UI元素绘制到屏幕上)16ms发出VSync信号触发UI渲染大多数的Android设备屏幕刷新频率:60Hz二、优化工具(1)Systracea) 关注Framesb) 正常:绿色原点,丢帧:黄色或红色c) Alerts栏(2)Layout Inspectora)AndroidStudio自带工具b)查看视图层次结构(3)Choreographera)是一个类库,android自带的。b)可以获取FPS,具备实时性c)可

2021-08-06 15:48:56 196

原创 Android性能分析与优化学习(三) App内存优化

1、内存问题内存抖动:锯齿状,GC导致卡顿内存泄漏:可用内存减少,频繁GC内存溢出:OOM、程序异常2、工具选择Memory Profiler实时图表展示应用内存使用量,识别内存泄露,抖动等,提供捕获堆转储、强制GC以及跟踪内存分配的能力Memory Analyzer强大的Java Heap分析工具,查找内存泄漏及内存占用,,生成整体报告,分析问题等,线下深入使用LeakC...

2021-08-05 16:52:49 277

原创 RxJava源码分析

1、创建Observable调用一个create方法创建Observable,会检查ObservableOnSubscribe是否为null,使用RxJavaPlugins的onAssembly装配一个新建的ObservableCreate,他是Observable的子类 @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) public static <T> Observabl

2021-07-28 23:33:46 142

原创 剖析Framework 3 应用进程相关

参考文章Service的context广播,ContentProvider

2021-07-15 17:23:46 114

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除