- 博客(16)
- 收藏
- 关注
原创 dtm源码编译安装-运行客户端demo
第一步:dtm源码编译安装git clone https://github.com/dtm-labs/dtm && cd dtm或手动下载https://github.com/dtm-labs/dtm编译器:goland运行:同级目录下有main.go 执行编译(go run main.go),第一次需要下载依赖git包编译:windows下默认编译生成.exe的可执行程序,linux下默认编译生成二进制可执行程序,mac同理不同环境的可执行程序不同执行(go build m
2022-04-27 14:40:47
687
原创 【自然语言处理六】利用transformer模型实现机器翻译
transformer模型由encoder,decoder构成,每一个encoder分为六层,每一层又分为一个前馈网络和一个多头注意力层。decoder也分为六层,每一层都由两个注意力层和一个前馈网络组成,一个是自注意力层,一个是和encoder最终输出组成的注意力层。下面是利用transformer模型实现机器翻译的简单例子,框架用的是tensorflow。训练部分import reimport stringfrom itertools import countfrom operator imp
2022-01-01 13:58:21
2870
原创 【自然语言处理二】电影评论文本分类
本文介绍利用LSTM模型,实现评论文本分类的过程。这是一个二元(binary)或者二分类问题,一种重要且应用广泛的机器学习问题。1.预处理(1)tokenization(2)词嵌入2.构建模型3.训练及测试
2021-12-31 14:55:50
372
原创 【深度学习二】手写数字问题
1.手写数字问题手写数字是深度学习入门级的一个问题,通过上万张带有手写数字0-9的图片训练模型, 达到让机器识别并预测图片里的数字的效果。它的实质是一个多分类的问题。2.准备数据集数据集直接用keras自带的datasets获取。mnist = tf.keras.datasets.mnist(x_train,y_train),(x_test,y_test) = mnist.load_data()x_train, x_test = x_train / 255.0, x_test / 255.0#
2021-12-30 10:33:01
466
原创 【深度学习一】深度学习基础
1.深度学习的框架比较深度学习的主要框架是google的tensorflow和facebook的pytorch。对于tensorflow,自从出了2.0以及keras api之后,对于初学者比较友好,大多数方法都封装好了,比如训练模型,只需要调用fit()方法,十分简便。而pytorch的自定义程度较高,并且与transformers的库配合的比较好,不过实现起来比keras会复杂一些。2.什么是神经网络人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年
2021-12-30 10:32:27
171
原创 View生成及绘制流程
1.activity,window,view,viewroot之间的关系acitvity包含一个phonewindow, phonewindow里面持有一个view的根视图decorview,viewroot既不属于view,也不属于viewgroup,他主要负责跨进程通信。2.view的生成acitivtythread的handleLaunchActivity方法里面会调用attach方法,生成一个phonewindow,接着调用setContentview方法生成decorview。一个activ
2021-09-11 11:26:03
121
原创 vue深入响应式原理
1. vue如何实现检测对象和数组(部分方法的操作)的变化数组:遍历数组的每一个元素,添加observer /** * Observe a list of Array items. */ observeArray (items: Array<any>) { for (let i = 0, l = items.length; i < l; i++) { observe(items[i]) // observe 功能为监测数据的变化 }
2021-09-04 10:53:53
71
原创 vue封装组件库并上传到npm
最近公司的几个项目中,经常会出现重复的组件,一开始还好,但是项目多起来以后,每一次改动,都要在不同项目中更改一次,很麻烦也容易出错,所以自己就花时间研究了一下封装组件库上传到npm。这样每次只需要改这个组件库,然后在不同的项目中,通过npm uppdate xxx即可。下面是具体的步骤1.创建一个项目vue create mylib2.把项目中现有的src包名改成example,然后新增两个目录,一个是packages,用于存放组件,一个是src, 用于写index.js文件。项目结构。3.pac
2021-09-03 08:08:30
515
原创 Android GUI系统
1.SurfaceFlingerSurfaceFlinger进程在解析init.rc文件时就被启动了。SufaceFlinger绘制流程实际上是一个生产着消费者模型。客户端Surface持有BpBufferQueueProducer,通过它来向Server端的BufferQueue填充数据。SufaceFlinger作为消费者,把BufferQueue中的数据取出来,进行合成,最终渲染到屏幕上。2.WindowServiceManagerWindowServiceManager在SystemServ
2021-08-29 20:54:28
137
原创 vue 结合vuex动态改变routerview
keep alive 里面有一个inclue属性,可以支持动态配置,需要做缓存的页面的name,用逗号隔开,拼接成字符串。情形一:单一列表页->详情页,返回的时候列表页保持不变。这种情况只需要在列表页的父级,指定列表页为keep-alive即可。具体代码如下home.vue <keep-alive :include="cached"> <router-view class="routerview"></router-view> </keep-al
2021-08-29 15:07:32
668
原创 ios 实现类似微信预览的转场效果
github地址:ZoomingTransition相信大家都用过微信,在聊天时点击图片,会从图片弹出预览页。在预览页点击关闭,会缩回到原图片。今天带一起来实现这个效果。1.先引入这个库pod 'ZoomingTransition'2.创建你自己的PushVC继承自ZoomPushVC,并实现ZoomTransitionAnimatorDelegateclass MyPushVC : ZoomPushVC,ZoomTransitionAnimatorDelegate{var lastSele
2021-02-10 09:51:00
277
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人