达美航空

上拉更新,下拉刷新

…衆ロ難τιáo~ 提交于 2020-01-10 00:03:01
第三方控件 :https://github.com/scwang90/SmartRefreshLayout 首先添加依赖 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //布局 <com.scwang.smartrefresh.layout.SmartRefreshLayout android:layout_below ="@id/include" android:id="@+id/srl_layout" android:layout_width="match_parent" android:layout_height="match_parent" app:srlEnableAutoLoadMore="false"> //下拉刷新 <com.scwang.smartrefresh.layout.header.ClassicsHeader app:srlTextRelease="@string/Refresh" android:layout_width="match_parent" android:layout_height="wrap_content" /> <androidx.recyclerview.widget.RecyclerView android:scrollbars="none"

打印执行图形

霸气de小男生 提交于 2020-01-08 15:10:20
//二维数组练习 // 11112 //40002 //40002 //40002 //43333 #include<stdio.h> int main() { int arr[5][5]={0}; int cur_row=0,cur_col=0; //当前正在处理的位置。 int delta_row=0,delta_col=1; //代表移动的方向。 int tmp_row=0,tmp_col=0; int col=0,row=0; ///从左向右移动 for(int num=0;num<=15;num++) { //把数字放在当前处理的存储区里 arr[cur_row][cur_col]=num/4+1; //0-3 //计算下一次循环应该处理的位置 { tmp_row=cur_row+delta_row; tmp_col=cur_col+delta_col; if(tmp_row<0||tmp_row>4||tmp_col<0||tmp_col>4) { //如果新位置不能使用就应该调成可以使用的位置 //调整移动方向 if(!delta_row && delta_col==1) { //向右改向下 delta_row=1; delta_col=0; } else if(delta_row==1 && !delta_col) { delta_row=0; delta_col=

AtomicXXX系列类使用分析

巧了我就是萌 提交于 2020-01-08 10:31:20
本博客系列是学习并发编程过程中的记录总结。由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅。 并发编程系列博客传送门 在 java.util.concurrent.atomic 中,普通的原子类型有以下四种: AtomicBoolean:提供对基本数据类型boolean的原子性更新操作。 AtomicInteger:提供对基本数据类型int的原子性更新操作。 AtomicLong:提供对基本数据类型long的原子性更新操作。 AtomicReference :这是一个泛型类,提供对引用类型的原子性更新操作。 数组相关的操作类有: AtomicLongArray:提供对int[]数组元素的原子性更新操作。 AtomicIntegerArray:提供对long[]数组元素的原子性更新操作。 AtomicReferenceArray:提供对引用类型[]数组元素的原子性更新操作。 由于上面的原子操作类的实现原理差不多,我们这边就选择 AtomicInteger 来分析。 代码分析 构造函数 public class AtomicInteger extends Number implements java.io.Serializable { private static final long serialVersionUID =

Kudu、Hudi和Delta Lake的比较

不想你离开。 提交于 2020-01-07 16:29:02
目录 Kudu、Hudi和Delta Lake的比较 存储机制 读数据 更新数据 其他 如何选择合适的存储方案 Kudu、Hudi和Delta Lake的比较 kudu、hudi和delta lake是目前比较热门的支持行级别数据增删改查的存储方案,本文对三者之间进行了比较。 存储机制 kudu kudu的存储机制和hudi的写优化方式有些相似。 kudu的最新数据保存在内存,称为MemRowSet(行式存储,基于primary key有序), 当MemRowSet写满(默认1G或者120s)后flush到磁盘,形成DiskRowSet(列式存储)。 DiskRowSet包含baseData与DeltaStores两部分,DeltaStores包含一个DeltMemStore和多个DeltaFile, 后续的更新数据存放在DeltMemStore中,增长到一定程度后flush成DeltaFile文件。 kudu会定期执行compaction操作,将DeltaFile中的更新合并到DiskRowSet,或者合并DiskRowSet,清除已删除的数据,并减少DiskRowSet的数量。 hudi hudi维护了一个时间轴,记录了在不同时刻对数据集进行的所有操作。 hudi拥有2种存储优化,读优化适合读多写少的场景,写优化适合读少写多的场景。 读优化(Copy On Write)

卷积学习的一点小心得

我的梦境 提交于 2020-01-07 08:44:25
在信号的时域分析中,最为重要的就是信号通过线性时不变系统,即时域卷积计算。先来回顾一下线性时不变系统的定义: \[ \begin{array}{l} If{\rm{ }}x(t) \Rightarrow y(t){\rm{ :}}\\ a{x_1}(t) + b{x_2}(t) \Rightarrow a{y_1}(t) + b{y_2}(t)\\ x(t - {t_0}) \Rightarrow y(t - {t_0}) \end{array} \tag{1-1} \] 物理可实现的系统绝大多数均满足线性时不变条件,与此同时还应满足稳定性条件,即 $\int_{ - \infty }^{ + \infty } {h(t)} dt < \infty $ ,输入为能量信号的情况下输出的能量是有限的。在做一些小题的时候,经常会给出 \(y(t) = f[x(t)]\) 的形式来提问,然而在实际的系统当中却很难用一个函数就轻松表征出输入和输出之间的关系,比如: 这是一个简单的RC电路,但是会发现很难用一个简单直观的函数去表征输出与输入之间的关系。当然,在电路分析中采用零状态相应+零输入响应最终求解出了该函数,实质上用的是求解非齐次线性微分方程的方法。然而这种求解的困难在于两点:1. 很难剥离输入信号用以描述系统本身的性质;2. 对于高阶电路束手无策。这里卷积主要解决的是第一个困难

自适应学习率调整:AdaDelta

孤者浪人 提交于 2020-01-06 20:40:54
本文转载自: https://www.cnblogs.com/neopenx/p/4768388.html 作者:neopenx 转载请注明该声明。 Reference: ADADELTA: An Adaptive Learning Rate Method 超参数 超参数(Hyper-Parameter)是困扰神经网络训练的问题之一,因为这些参数不可通过常规方法学习获得。 神经网络经典五大超参数: 学习率(Leraning Rate)、权值初始化(Weight Initialization)、网络层数(Layers) 单层神经元数(Units)、正则惩罚项(Regularizer|Normalization) 这五大超参数使得神经网络更像是一门实践课,而不是理论课。 懂神经网络可能只要一小时,但是调神经网络可能要几天。 因此,后来Vapnik做SVM支持向量机的时候,通过巧妙的变换目标函数,避免传统神经网络的大部分超参数, 尤其是以自适应型的支持向量替代人工设置神经元,这使得SVM可以有效免于过拟合之灾。 传统对抗这些超参数的方法是经验规则( Rules of Thumb )。 这几年,随着深度学习的推进,全球神经网络研究者人数剧增,已经有大量研究组着手超参数优化问题: ★深度学习先锋的RBM就利用Pre-Traning自适应调出合适的权值初始化值。

递归神经网络(RNN)简介

谁说我不能喝 提交于 2020-01-06 18:03:19
在此之前,我们已经学习了前馈网络的两种结构——多层感知器和卷积神经网络,这两种结构有一个特点,就是假设输入是一个独立的没有上下文联系的单位,比如输入是一张图片,网络识别是狗还是猫。但是对于一些有明显的上下文特征的序列化输入,比如预测视频中下一帧的播放内容,那么很明显这样的输出必须依赖以前的输入, 也就是说网络必须拥有一定的”记忆能力”。为了赋予网络这样的记忆力,一种特殊结构的神经网络——递归神经网络(Recurrent Neural Network)便应运而生了。网上对于RNN的介绍多不胜数,这篇《Recurrent Neural Networks Tutorial》对于RNN的介绍非常直观,里面手把手地带领读者利用python实现一个RNN语言模型,强烈推荐。为了不重复作者 Denny Britz的劳动,本篇将简要介绍RNN,并强调RNN训练的过程与多层感知器的训练差异不大(至少比CNN简单),希望能给读者一定的信心——只要你理解了多层感知器,理解RNN便不是事儿:-)。 RNN的基本结构 首先有请读者看看我们的递归神经网络的容貌: 乍一看,好复杂的大家伙,没事,老样子,看我如何慢慢将其拆解,正所谓见招拆招,我们来各个击破。 上图左侧是递归神经网络的原始结构,如果先抛弃中间那个令人生畏的闭环,那其实就是简单”输入层=>隐藏层=>输出层”的三层结构

python assert断言函数

こ雲淡風輕ζ 提交于 2020-01-01 14:34:48
本文转载自: https://www.cnblogs.com/feiyuenotes/p/7788995.html 作者:feiyueNotes 转载请注明该声明。 python assert断言是声明布尔值必须为真的判定,如果发生异常就说明表达式为假。 可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。 self.assertEqual(a,b,msg=msg) #判断a与.b是否一致,msg类似备注,可以为空 self.assertNotEqual(a,b,msg=msg) #判断a与b是否不一致 self.assertTrue(a,msg=none) #判断a是否为True self.assertFalse(b,msg=none) #判断b是否为false self.assertAlmostEqual(a,b,places=none,msg=none,delta=none) #该判断过程有点复杂,判断过程如下 注:places与delta不能同时存在,否则出异常 #若a==b,则直接输入正确,不判断下面的过程 #若delta有数,places为空,判断a与b的差的绝对值是否<=delta,满足则正确,否则错误 #若delta为空,places有数,判断b与a的差的绝对值,取小数places位,等于0则正确,否则错误

Delta Lake源码分析

自闭症网瘾萝莉.ら 提交于 2019-12-28 03:21:32
Delta Lake源码分析 Delta Lake元数据 delta lake 包含Protocol、Metadata、FileAction(AddFile、RemoveFile)、CommitInfo和SetTransaction这几种元数据action。 Protocol:这是delta lake自身的版本管理,一般只出现在第一次的commit日志里(之后版本升级应该也会有); Metadata:存储delta表的schema信息,第一次commit和每次修改schema时出现,以最后一次出现的为准; FileAction:文件的相关操作,delta lake的文件操作只有添加文件和删除文件; CommitInfo:保存关于本次更改的原始信息,如修改时间,操作类型,读取的数据版本等; SetTransaction:设置application的提交版本,一般用于流式计算的一致性控制(exactlyOnce)。 //初始的commit log会包含protocol和metaData的信息 {"commitInfo":{"timestamp":1576480709055,"operation":"WRITE","operationParameters":{"mode":"ErrorIfExists","partitionBy":"[]"},"isBlindAppend":true}}

Delta Lake源码分析

China☆狼群 提交于 2019-12-27 18:05:05
目录 Delta Lake源码分析 Delta Lake元数据 snapshot生成 日志提交 冲突检测(并发控制) delete update merge Delta Lake源码分析 Delta Lake元数据 delta lake 包含Protocol、Metadata、FileAction(AddFile、RemoveFile)、CommitInfo和SetTransaction这几种元数据action。 Protocol:这是delta lake自身的版本管理,一般只出现在第一次的commit日志里(之后版本升级应该也会有); Metadata:存储delta表的schema信息,第一次commit和每次修改schema时出现,以最后一次出现的为准; FileAction:文件的相关操作,delta lake的文件操作只有添加文件和删除文件; CommitInfo:保存关于本次更改的原始信息,如修改时间,操作类型,读取的数据版本等; SetTransaction:设置application的提交版本,一般用于流式计算的一致性控制(exactlyOnce)。 //初始的commit log会包含protocol和metaData的信息 {"commitInfo":{"timestamp":1576480709055,"operation":"WRITE",