- 博客(64)
- 收藏
- 关注
原创 记录一下我的失败想法:不用人工智能给嘴唇化妆
1、想法我的想法就是有没有什么方法能够给嘴唇自动上妆,人工智能应该可以实现,在网上看了一下,感觉得静下心来,拿出时间好好研究,好久没有看神经网络了,就想着有没有什么简单的方法,然后突然我有一个大胆想法,就是能不能把嘴唇分成很多层,然后每一层上不同的颜色就可以让颜色连贯起来,有点像微积分那味道了,不会突兀了,后悔没有早早掐断这个鬼想法,我居然还想着试试看哈哈哈。先看看把嘴唇分层,就像下图那样:...
2021-11-07 20:58:59
368
原创 树莓派上利用python+opencv+dlib+pygame实现嘴唇检测
书接上回树莓派上利用python+opencv+dlib实现嘴唇检测我发现卡顿主要原因就是dlib检测过程,但是实力不够还改变不了哈哈,那么我就想着要不然做一个界面让这个卡顿在人们的操作习惯中不那么卡顿,做界面主要使用pygame。项目的主要目标是加入pygame来定义按钮,让检测操作仅仅发生在点击按钮之后,效果如下:1、安装pygamepython3 -m pip install -U pygame --user或者是直接写后面的也可以pip install -U pygame --us
2021-11-03 17:08:51
6573
4
转载 树莓派安装中文输入法
常用的是谷歌的拼音输入法,通过以下操作安装:1、更新软件包源sudo apt udpate2、安装fcitx-googlepinyinsudo apt install -y fcitx-googlepinyin3、等待安装完成后需要重启一下树莓派sudo reboot4、后续操作重启完成后需要添加一下中文输入法,点击左上角树莓图标进入Preference -> Fcitx Configuration默认情况下,系统为英文,键盘也只有英文,如下图:点击左下角的加号,会出现如
2021-11-01 19:52:54
796
原创 树莓派上利用python+opencv+dlib实现嘴唇检测
树莓派上利用python+opencv+dlib实现嘴唇检测树莓派上利用python+opencv+dlib实现嘴唇检测1、安装相关库文件1.1 安装opencv1.2 安装numpy1.3 安装dlib2、代码部分3、实验效果树莓派上利用python+opencv+dlib实现嘴唇检测项目的目标是在树莓派上运行python代码以实现嘴唇检测,本来以为树莓派的硬件是可以流畅运行实时检测的,但是实验的效果表明树莓派实时检测是不可行,后面还需要改进。实验的效果如下:1、安装相关库文件这里需要用的库有
2021-10-29 13:43:45
6031
3
原创 opencv中自适应阈值(adaptiveThreshold()函数)介绍
1. 自适应阈值简介自适应阈值(adaptiveThreshold())用于二值化处理图像,对于对比大的图像有较好效果,相对于固定阈值化操作(t’h)是指图像中每一个像素点是根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值。这样做的好处:每个像素位置处的二值化阈值不是固定不变的,而是由其周围邻域像素的分布来决定的。亮度较高的图像区域的二值化阈值通常会较高,而亮度较低的图像区域的二值化阈值则会相适应地变小。不同亮度、对比度、纹理的局部图像区域将会拥有相对应的局部二值化阈值。1.2 项目目录
2021-03-31 20:33:26
35697
原创 python爬取安居客房屋价格用地图表示出来
1. 房屋价格地图1.1 项目思路主要分成三个步骤首先利用python爬取安居客网站上个区的房屋价格,并把房屋所在小区进行归类,求出小区均价。然后利用百度地图api中的地理编码,我们可以获取小区所在的经纬度,注意这里不是所有小区都能准确获取的,存在一定数量的小区无法获取精确的地理坐标。最后利用BDP线上分析可以绘制出如下小区均价地图。效果如下:1.2 项目目录get_data:用于python爬取安居客房屋价格并整理get_lnglat:用于百度地图api中地理编码,获取小区的经纬
2021-02-26 11:06:32
1677
4
原创 android中EditView.addTextChangedListener死循环问题
1. 问题描述:问题描述:EditView.addTextChangedListener死循环问题。例如:我需要在EditView中输入数据的同时做出改变,如自动补全单位,这样的话我们会在输入数据之后,调用afterTextChanged函数,但是当我们补全单位之后,我们又需要利用setText()函数把我们带有单位的数据传递到EditView中去,这个时候会再次调用afterTextChanged函数,这样就存在死循环问题。mTextWatcher = new TextWatcher() {
2021-02-20 21:24:33
856
原创 android中Dialog的使用
1. Dialog概述对话框是提示用户做出决定或输入更多信息的小窗口。对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模态框事件。android开发网站上是这样写的https://developer.android.google.cn/guide/topics/ui/dialogs.html?hl=zh-cn#java:Dialog 类是对话框的基类,但您应避免直接实例化 Dialog,而是使用下列子类之一:AlertDialog此对话框可显示标题、最多三个按钮、可选择项列表或自定义布
2021-02-20 20:51:45
492
原创 android中RecyclerView的使用
1. RecyclerView概述Android提供了一个更强大的滚动控件——RecyclerView。 它可以说是一个增强版的ListView, 不仅可以轻松实现和ListView同样的效果, 还优化了ListView中存在的各种不足之处。 目前Android官方更加推荐使用RecyclerView, 未来也会有更多的程序逐渐从ListView转向RecyclerView。2. RecyclerView使用2.1 加入依赖库首先需要在项目的build.gradle中添加相应的依赖库才行,在app/
2021-02-07 15:35:04
2987
原创 python实现股票选取
1. 股票选择参数这里股票选取所采用的指标主要是市盈率和市净率。市盈率市盈率(Price Earnings Ratio,简称P/E或PER),也称“本益比”、“股价收益比率”或“市价盈利比率(简称市盈率)”。市盈率是指股票价格除以每股收益(每股收益,EPS)的比率。通常市盈率也有动态市盈率(PETTM),要是上市公司业绩好,行业好的话,从长远角度看,盈利强,动态市盈率一般比静态市盈率低。市净率市净率(Price-to-Book Ratio,简称P/B PBR)指的是每股股价与每股净资产的比率。
2021-02-04 21:19:41
3629
转载 PyTorch:expected scalar type Float but found Double
原因分析:代码中网络参数类型不统一解决方案:在最前面加import torchtorch.set_default_tensor_type(torch.DoubleTensor)或者在网络初始化之后加=net = net.double()转载:https://blog.csdn.net/sazass/article/details/109725458...
2021-01-13 16:40:29
17810
1
原创 pytorch实现股票预测
1.股票预测概述股票预测我分了两大部分,第一个是模型训练,第二个是模型预测,模型训练中我又分成数据读取、特征选择、模型训练三个部分。模型训练数据读取特征选择模型训练模型预测2.模型训练2.1数据读取模型训练: 我的想法是通过股票前n天的数据去预测股票五天之后的涨跌,因为我觉得买股票不应该只看后面一天的股价变化,所以我这里选择了五天之后的股价。我这里约定涨:五天之后股价的最小值比五天前股价的最大值要高跌:五天之后股价的最大值比五天前股价的最小值要低平:其余的情况股票数据收
2020-12-19 17:46:43
9780
11
原创 卷积网络在脑电图中的应用
导读当人类思考时,我们产生脑电波,这些脑电波可以映射到实际的意图,本项目中应用卷积神经网络(ConvNets)对拼写错误和拼写正确的脑电图记录进行区分。使用深层卷神经网络结构来解码从脑电图中任务相关的信息。在脑电图解码中,相较于传统的循环神经网络(RNN),卷积神经网络不存在梯度消失等问题,并且训练所消耗的计算机资源更少,在每次记录中仅使用7.86秒进行训练,每次记录使用7.86秒进行测试。误差相关电位数据集脑电波是一种使用电生理指标记录大脑活动的方法,大脑在活动时,大量神经元同步发生的突触后电位经总
2020-10-21 20:03:12
803
原创 CSS毛玻璃模糊效果
效果大家可以看看上面顶部一条白色的横杠,背景图片是明显虚化的,还有就是在评论区的下方背景也是被明显虚化的,首先说明一点我一开始本想着怎么让评论区下方的虚化效果和背景图片完美衔接,就是那种评论区和背景是一副完整的图片,但是我发现有点困难呀,没有头绪哈哈。...
2020-06-18 17:10:36
925
原创 web3获取以太坊合约事件
1.玄学我在以太坊的合约是代币合约,其中包含有转币的方法transfer,用来把自己或其他人的代币转来转去,代币和扇贝一样也是要活动活动滴哈哈哈(獐子岛扇贝事件)。我一开始使用用来监听合约中Transfer事件的代码如下: await this.contract.events.Transfer() .on('data', function (event) { _this.sendAlertIcon = 'success'
2020-06-04 17:23:10
1256
原创 以太坊中的短地址攻击
1.什么叫短地址按照字面的意思就是说这个地址比别人的要短些,那么我们都知道在以太坊中正常的化地址就是0x1234567890123456789012345678901234567800这样的,数数,它有20个字节(这个地址的表示方法是用16进制的数去表示的,所以就会有40位)。那么我们一看这个地址后面两位也就是一个字节都是0呀,那么我们其实可以不用写最后的两位,因为以太坊机制中存在自动补0的情况,一听多么人性的操作,多么体贴就像是暖男一样,思你之所思,急你之所急,啊多么好的设计,我们就把这种地址最后两位
2020-05-16 15:41:17
924
原创 BNB代码解读
1.BNB代码我们先来看下BNB的代码,没错就是这短短100多行代码,市值可是好多好多亿呢哈哈哈哈。/** *Submitted for verification at Etherscan.io on 2017-07-06*/pragma solidity ^0.4.8;/** * Math operations with safety checks */contract SafeMath { function safeMul(uint256 a, uint256 b) inte
2020-05-14 16:27:10
5296
原创 我理解的以太坊
1.以太坊简介以太坊(英文Ethereum)是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether,简称“ETH”)提供去中心化的以太虚拟机(Ethereum Virtual Machine)来处理点对点合约。以太坊的概念首次在2013至2014年间由程序员Vitalik Buterin受比特币启发后提出,大意为“下一代加密货币与去中心化应用平台”,在2014年通过ICO众筹开始得以发展。它和比特币最大的区别就是智能合约,类似于我有一段可以放在以太坊节点上跑的程序,而比特币的
2020-05-11 18:00:04
531
2
原创 pytorch中scatter_介绍
1.官方文档中的介绍scatter() 和 scatter_() 的作用是一样的,只不过 scatter() 不会直接修改原来的 Tensor,而 scatter_() 会修改原来的。scatter_(dim, index, src) 的参数有 3 个dim:在哪个维度进行变换index:用来 scatter 的元素索引src:用来 scatter 的源元素具体的转化关系可以参考下...
2020-04-25 17:10:02
3434
原创 pytorch中CNN网络的实现
1.加载数据集这里我们加载的是mnist数据集,这里我直接下载下来的了。import torch.utils.data as Dataimport matplotlib.pyplot as pltimport numpy as np# import keras# plt.ion()data = np.load('./data/mnist.npz')# print(data.fi...
2020-04-23 20:17:15
672
原创 机器学习中各种优化器简介
1.SGD(随机梯度下降)随机梯度下降是最经典的方法,其计算公式如下图所示。其中L是损失函数,在机器学习中存在mini-batch,就是每次选择一小部分来训练,这样这里的损失函数实际上是把每个的预测值和真实值的损失函数类和起来最为mini-batch的损失函数返回值,但是你也可以求解平均值,在pytorch中这个在torch.nn.LossFunction中是可选择的(这里的lossfunc...
2020-04-23 15:41:36
1397
原创 pytorch模型搭建方式
1.安装pytorch在pytorch官网选择pyorch的安装的方式https://pytorch.org/get-started/locally/复制下面的Command运行即可2.pytorch模型的构建pytorch中模型的构建是通过类来构建的import torchimport torch.nn.functional as Fclass Net(torch.nn.Mo...
2020-04-18 11:27:06
1868
原创 初始数据查看处理方法
1.countplot使用方式注意:在画图的最后一定要加上plt.show(),这样才能显示出来。import matplotlib.pyplot as pltimport seaborn as snsimport pandas as pdimport warningswarnings.filterwarnings('ignore')train_data = pd.read_csv...
2020-04-14 11:19:38
488
原创 激活函数的作用
激活函数的作用就是引入非线性,因为激活函数本身就是非线性的,对于神经网络每层激活函数之前可以表示为:y=wx+b,其中w是函数的斜率,b是截距,这是只有一个输出时候的情况,可以看作是一条直线,当有两个输出的时候,方程可以表示为:y1=w1x+b1,y2=w2x+b2,可以看作是两条直线,以此类推,当有很多输出的时候,也仅仅是很多直线的叠加,如下图当引入激活函数的时候,上图中所有直线都是非线性的...
2020-04-13 16:03:21
1861
原创 hyperopt在keras中应用
1.安装hyperoptpip install hyperopt2.声明一个搜索空间space = { 'units1': hp.choice('units1', [16, 32])}hp.choice(label, options) 其中options应是 python 列表或元组。hp.normal(label, mu, sigma) 其中mu和sigma分别是均值和标...
2020-04-10 20:53:25
753
2
翻译 高级架构模式
1.残差连接残差连接( residual connection)是一种常见的类图网络组件,在 2015 年之后的许多网络架构(包括 Xception)中都可以见到。 2015 年末,来自微软的何恺明等人在 ILSVRC ImageNet 挑战赛中获胜,其中引入了这一方法。残差连接解决了困扰所有大规模深度学习模型的两个共性问题:梯度消失和表示瓶颈。通常来说,向任何多于 10 层的模型中添加残差连接...
2020-04-07 14:15:35
258
原创 处理过拟合的一些方法
1.减小网络大小防止过拟合的最简单的方法就是减小模型大小,即减少模型中可学习参数的个数,当学习参数过多时候,就相当于一个线性函数本来只需要两个参数(一个截距一个斜率)就可以表达出来(当然样本点是不会完全在直线上的,分布于直线两侧),但是这时候你给了5个参数,那么所表达出来的线就会穿过更多的点,这个时候曲线会变成四次曲线,模型的泛化力会显著下降。2.添加权重正则化一个问题的解释有两种样子,其中...
2020-04-07 11:12:33
2721
原创 keras函数式API以及plot_model的用法
顺序模型举例from keras import layers, Input, Modelinput_tensor = Input(shape=(64,))x = layers.Dense(32, activation='relu')(input_tensor)x = layers.Dense(32, activation='relu')(x)output_tensor = layers....
2020-04-06 17:57:36
5115
1
原创 加载imdb数据以及TensorBoard的使用方法
加载imdb数据修改imdb.py这里我把imdb数据下载下来,放在keras>datasets文件夹下面,并且需要修改一下imdb.py文件# path = get_file(path,# origin='https://s3.amazonaws.com/text-datasets/imdb.npz',# file_hash='599dadb1135973df5b59232a0e...
2020-04-06 11:56:37
751
原创 监督学习回归预测模型简介
1.回归预测回归预测就是把预测的相关性原则作为基础,把影响预测目标的各因素找出来,然后找出这些因素和预测目标之间的函数关系的近似表达,并且用数学的方法找出来。在利用样本数据对其模型估计参数,并且对模型进行误差检验。回归预测和分类学习中主要的区别在于其待预测的目标是连续变化的。2.线性回归器在线性分类器中为了便于把目标映射到[0,1]区间上,而采用了逻辑斯蒂函数,而线性回归问题由于目标直接是实...
2020-03-17 17:06:19
1249
原创 监督学习分类学习模型简介
1.监督学习根据已有的数据集,知道输入和输出结果之间的关系。根据这种已知的关系,训练得到一个最优的模型。监督学习可以分成分类学习和回归预测两类。2.分类学习(一)线性分类器...
2020-03-16 17:01:09
1356
原创 matplotlib中subplot的用法
subplot概述一个figure对象可以包含了多个子图,可以使用subplot()函数来绘制子图。subplot(numRow , numCol ,plotNum )subplot(numRow numCol plotNum)可以不用逗号分开直接写在一起。例子import matplotlib.pyplot as pltnames = ['group_a', 'group_b', ...
2020-03-10 14:34:06
4139
原创 threejs中的阴影
1.效果2.实现要求渲染器开启阴影渲染this.renderer.shadowMap.enabled = true;灯光需要开启“引起阴影”dirLight.castShadow = true物体需要开启“引起阴影”svg.castShadow = true平面开启“接受阴影”plane.receiveShadow = true...
2020-03-02 17:14:47
1105
原创 threejs利用svg拉伸形成立体图
1.svg图片转化成threejs对象这里我们用到了别人写好的函数transformSVGPathExposed(),这个函数传入的变量是svg图片的路径字符串,输出的是threejs中shape对象。https://johnson2heng.github.io/three.js-demo/lib/js/libs/d3-threeD.js我们在vue中引入上述js文件需要做一点小小修改。原...
2020-03-02 11:48:38
2557
1
原创 Vue中引入外部的js文件
问题描述在使用threejs的时候,我需要用到一个transformSVGPath()函数,这个函数是别人写好了的。function transformSVGPath(){// 函数内容}我想用import的方法在Vue组件中使用这个函数。解决方法1.引入一个函数function transformSVGPath(){// 函数内容}export{ transformSV...
2020-02-29 20:45:37
415
原创 threejs实现天空盒
1.天空盒概述以及效果类似这种全景图片,我们将图片切成六个小图片,分别将六个小图片贴在一个正方体的里面,这样当我们置身于这个正方体里面的时候,就像在看全景图一样。效果如下:2.threejs代码 var path = '/sky/' var format = '.jpg' var urls = [ path + 'px' + format, p...
2020-02-26 16:54:55
5225
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人