草庐IT

Jetpack学习之ViewModel、Lifecycles、LiveData

全部标签

Android ViewModel 附加参数

除了应用程序上下文之外,有没有办法将其他参数传递给我的自定义AndroidViewModel构造函数。示例:publicclassMyViewModelextendsAndroidViewModel{privatefinalLiveData>myObjectList;privateAppDatabaseappDatabase;publicMyViewModel(Applicationapplication,Stringparam){super(application);appDatabase=AppDatabase.getDatabase(this.getApplication());

Android ViewModel 附加参数

除了应用程序上下文之外,有没有办法将其他参数传递给我的自定义AndroidViewModel构造函数。示例:publicclassMyViewModelextendsAndroidViewModel{privatefinalLiveData>myObjectList;privateAppDatabaseappDatabase;publicMyViewModel(Applicationapplication,Stringparam){super(application);appDatabase=AppDatabase.getDatabase(this.getApplication());

pytorch3d学习之pytorch3d.ops

pytorch3d.ops是pytorch提供的一些关于3d数据,即计算机图形学的一些运算的包。1.pytorch3d.ops.ball_query()pytorch3d.ops.ball_query(p1:torch.Tensor,p2:torch.Tensor,lengths1:Optional[torch.Tensor]=None,lengths2:Optional[torch.Tensor]=None,K:int=500,radius:float=0.2,return_nn:bool=True)BallQueryisanalternativetoKNN.Itcanbeusedtofin

强化学习之 PPO 算法

简述PPO        PPO算法是一种基于策略的、使用两个神经网络的强化学习算法。通过将“智体”当前的“状态”输入神经网络,最终会得到相应的“动作”和“奖励”,再根据“动作”来更新“智体”的状态,根据包含有“奖励”和“动作”的目标函数,运用梯度上升来更新神经网络中的权重参数,从而能得到使得总体奖励值更大的“动作”判断。月球飞船降落        本文根据gym来跑强化学习,在该游戏中,“状态”与“奖励”的更新都使用gym内部封装的函数来实行,所以我们只需要考虑“状态”→“神经网络”→“动作”就行了。        下载gym的步骤如下:                pipinstallg

强化学习之 PPO 算法

简述PPO        PPO算法是一种基于策略的、使用两个神经网络的强化学习算法。通过将“智体”当前的“状态”输入神经网络,最终会得到相应的“动作”和“奖励”,再根据“动作”来更新“智体”的状态,根据包含有“奖励”和“动作”的目标函数,运用梯度上升来更新神经网络中的权重参数,从而能得到使得总体奖励值更大的“动作”判断。月球飞船降落        本文根据gym来跑强化学习,在该游戏中,“状态”与“奖励”的更新都使用gym内部封装的函数来实行,所以我们只需要考虑“状态”→“神经网络”→“动作”就行了。        下载gym的步骤如下:                pipinstallg

Python代码学习之给图片添加文字或图片水印

前言图片加水印有什么好处?在现今的数字化时代,网络上的图片泛滥,盗图现象也越来越严重。因此,在发布文章时,为了保护自己的原创作品版权,很多人选择使用水印来保护他们的图片。这样就能更好地做到:1.版权保护:在商业用途的照片中添加水印可以帮助保护作者的版权,防止他人未经授权使用照片。2.品牌推广:将商业品牌、商标或公司标志添加到照片中,可以帮助提高品牌知名度和曝光率。3.防止盗版:添加水印可以防止盗版和未经授权的使用,因为水印会明显表明该照片的版权归原作者所有。4.标识来源:在社交媒体平台上分享照片时,添加水印可以帮助其他用户识别出照片的来源和作者。5.保护隐私:在一些情况下,添加水印可以帮助保护

使用 Jetpack Compose 实现一个计算器APP

前言在上一篇文章中,我们说到打算使用compose实现一个计算器APP,最开始打算做一个经典的LCD基础计算器,后来觉得好像没啥特色,最终决定还是改成仿微软计算器。不过,微软计算器的功能太多了,仿制的工程量不小,所以我打算只仿我认为最核心的两个模式:标准模式和程序员模式。另外,这篇文章只说UI实现,具体的运算逻辑可以自行查看源码。功能特性是否支持功能✔基础四则运算(标准、程序员)✔无限输入(标准)✔%,1/x,x²,√x扩展运算(标准)✔运算过程历史记录(标准)✔二进制、八进制、十进制、十六进制随意切换并实时换算(程序员)✔位运算:左移、右移(程序员)✔逻辑运算:AND、OR、NOT、XOR(

推荐系统学习之路

基本概念:一、基本流程王树森老师课程笔记召回(retrieval):快速从海量数据中取回几千个用户可能感兴趣的物品。方法:协同过滤相似度计算:余弦,杰卡德矩阵分解:将一个稀疏的用户评分矩阵MxN分解为MxKKxN,分解出来的K就是隐语义特征BiasSVD方法jieba是中文分词包hanlp情感分析工具包关注的作者…粗排:用小规模的模型的神经网络给召回的物品打分,然后做截断,选出分数最高的几百个物品。精排:用大规模神经网络给粗排选中的几百个物品打分,可以做截断,也可以不做截断。重拍:对精排结果做多样性抽样,得到几十个物品,然后用规则调整物品的排序。方法:MMR、DPPAB测试推荐系统算法工程师的

【Jetpack】Room + ViewModel + LiveData 综合使用 ( 核心要点说明 | 组合方式 | 代码示例 )

文章目录一、Room+ViewModel+LiveData框架使用核心要点1、Room框架优化分析2、Google官方建议的Room+ViewModel+LiveData架构3、Room与LiveData结合使用要点4、Repository层核心要点5、ViewModel+Room结合使用6、Activity组件中ViewModel使用要点7、Room框架主动查询数据库数据需保留除LiveData返回值外的正常查询方法二、完整代码示例1、build.gradle构建脚本2、Room框架相关代码Entity实体类Dao数据库访问接口对象Database数据库实体类3、Repository代码4、

Jetpack Compose中的动画

JetpackCompose中没有沿用Android原有的View动画和属性动画,而是新创建了一套全新的动画系统API,这是理所当然的,因为旧的动画系统主要是基于View体系的,而Compose中需要针对的是Composable可组合函数进行处理,那么势必要创造一套新的玩具出来,同时,这也无疑增加了开发者的学习成本。乍一看JetpackCompose中的动画Api,尼玛是真的多呀,我C了,简直令人眼花缭乱、云里雾里、天马行空、小兔乱撞、手脚慌乱、头冒虚汗、四肢抓狂、不知所措呀。。。😭但是我们可以对其进行分一下类,如果按照使用的方便程度划分,大概可以分为两大类:高级动画API和低级动画API(这