- 博客(75)
- 资源 (3)
- 收藏
- 关注
原创 Vue2.6.14源码分析
Vue2源码分析文章目录Vue2源码分析资源文件架构调试环境搭建入口初始化流程代码分析点一:合并选项代码分析点二:代理代码分析点三:挂载实例属性代码分析点四:执行生命周期钩子代码分析点五:注入组件状态相关的属性代码分析点六:执行$mount过程分析图数据响应式对象的响应式数组的响应式Vue批量异步更新策略Event Loop通知更新notify虚拟DOMVue.set/delete原理Vue.component原理资源vue源码当前版本:2.6.14迁出项目:git clone https://g
2021-07-17 20:34:24
1269
1
原创 深度学习——tensorflow2.0使用多GPU实现分布式自定义训练流程
import matplotlib as mplimport matplotlib.pyplot as plt%matplotlib inlineimport numpy as npimport sklearnimport pandas as pdimport osimport sysimport timeimport tensorflow as tffrom tensor...
2019-09-16 18:51:26
5608
3
原创 深度学习——tensorflow2.0搭建文本分类模型
import matplotlib as mplimport matplotlib.pyplot as plt%matplotlib inlineimport numpy as npimport sklearnimport pandas as pdimport osimport sysimport timeimport tensorflow as tffrom tensor...
2019-09-16 18:45:10
1732
原创 深度学习——tensorflow2.0使用fine-tune实现CNN中的retnet50模型
import matplotlib as mplimport matplotlib.pyplot as pltimport numpy as npimport osimport pandas as pdimport sklearnimport sysimport tensorflow as tfimport timefrom tensorflow import kerasf...
2019-09-16 18:38:16
1491
1
原创 深度学习——tensorflow2.0搭建分类和回归模型
1.环境安装步骤1:打开anaconda prompt步骤2:conda create -n tf2-gpu-py3 python=3.6.7 anacondaconda activate tf2-gpu-py3步骤3:python -m pip install --upgrade pip步骤4:pip install -i https://pypi.tuna.tsinghua.edu.cn...
2019-09-16 18:17:21
1399
1
原创 梯度下降法局部最优解和鞍点的问题
陷入局部最优并不是神经网络的问题,在一个高维空间中做梯度下降,很难收敛到局部最优,因为局部最小值要求函数在所有维度上都是局部最小值。若一个维度收敛到局部最小值的概率是0.5,则n维度收敛到局部最小值的概率是0.5^n,因此若n足够大,则收敛到局部最小值得概率接近于0。实际情况,在高维平面,函数会落在鞍点上。鞍点是函数在某一维度或多个维度上梯度不为0的点。因此,落在鞍点上的概率为1-0.5^n。...
2019-07-10 13:16:02
5865
2
原创 谈一谈深度学习中的归一化问题
如下图所示,以3个隐藏层的神经网络为例,每层网络只有一个神经元:其中H表示激活函数,这里选择sigmoid函数为激活函数。损失函数为根据梯度下降法和反向传播算法来更新w1、w2、w3、w4:其中H函数表示sigmoid激活函数。若wi的初始化值小于1;当x位于sigmoid函数两侧时,其dH(x)/dx的导数接近于0。因此经过多层的反向传播,导致损失函数J对w1的倒数接...
2019-07-07 14:32:26
1626
原创 使用jupyter notebook运行卷积神经网络出现的版本问题
1.在anaconda中安装PIL,若是python2版本则直接安装pil,若是python3版本,则只能安装pillow。2.执行data_dict = np.load(vgg16_npy_path, encoding='latin1').item()出现:Object arrays cannot be loaded when allow_pickle=False原因:使用的nump...
2019-05-14 17:36:38
1443
原创 深度学习之梯度下降法和batch_size对训练的影响
梯度下降法的本质是通过求W和b来寻找损失函数的最小值,具体过程是对损失函数求偏导获得其梯度,以单个训练样本为初始点进行梯度下降,直到得到梯度为0,即导数为0的极小值点。但是由于极小值点并不一定是最小值,因此需要使用多个训练样本求出对应的极小值点,选出损失函数最小值对应的W和b值。若选择梯度下降法一次训练的样本大小为batch_size,则batch_size个样本对应的损失值的均值才是梯度下降...
2019-04-08 10:14:42
1189
原创 Tensorflow框架
1. 什么是TensorflowTensorflow是Google开源的基于数据流图的科学计算库,适用于机器学习。Tensor的意思是张量,向量是一阶张量,矩阵是二阶张量;flow是流动的意思。因此Tensorflow的意思是张量在图中流动。Tensorflow使用tensor来表示数据;使用图(graph)来表示计算任务;在会话(session)的上下文(context)中执行图。T...
2019-03-31 09:39:28
443
原创 如何将ipynb格式转换为pdf
如何将ipynb转换为pdf(不支持中文):(1)https://miktex.org/download下载安装miktex(2)打开Anaconda Prompt,使用cd命令行中进入jupyter文件的路径下(3)执行jupyter nbconvert --to latex NotebookName.ipynb,将ipynb转换为tex文件(4)执行xelatex Notebo...
2019-03-22 05:15:16
2865
原创 pickle模块的使用
在python3中,用于序列化的两个模块:json、pickle。Json提供四个方法,分别是dumps、loads、dump、load;pickle也提供四个方法,即dumps、loads、dump、load。pickle可存储的数据类型:数字、字符串、列表、元组、集合、字典、函数、类。pickle常用方法:(1)pickle.dumps(obj, protocol=None, *,...
2019-03-22 05:13:46
355
原创 机器学习—支撑向量机SVM
10.支撑向量机SVM10.1支撑向量机SVM的实现10.1.1什么是支撑向量机支撑向量机的英文全称是Support Vector Machine,其思想可以解决分类问题,也可以解决回归问题。对于二分类问题,我们需要找到一条直线,将标签为0的样本划分在直线的一侧,标签为1的样本划分在直线的另一侧,这条直线称为“线性分类器”。对于训练数据集,其线性分类器有无数条,如何找到一条泛化性能...
2019-02-20 06:07:40
443
原创 机器学习—逻辑回归Logistic Regression
8.逻辑回归8.1逻辑回归的实现8.1.1什么是逻辑回归逻辑回归又称Logistic Regression,其本质是一种广义的线性回归模型,常用于解决二分类问题。在前面的多元线性回归中,有,其中表示样本的预测值、Xb表示样本的特征集加上第一列的元素1、θ表示截距和特征的系数。在逻辑回归中,有函数,当>=0.5时,=1;当<=0.5时,=0。这也是为什么逻辑回归用...
2019-02-17 05:42:09
1422
原创 机器学习—多项式回归
7.多项式回归和模型选择7.1多项式回归7.1.1多项式回归的实现思想在现实生活中,很多数据之间是非线性关系;虽然使用多线性回归来拟合非线性数据集,但是其拟合效果是非常的差。#程序7-1import numpy as npimport matplotlib.pyplot as plt np.random.seed(123456)x = np.random.uni...
2019-02-15 17:50:57
669
原创 机器学习—PCA
6.PCA6.1什么是PCA6.1.1 PCA的实现思想主成分分析法(Principal Componentm Analysis)是一个非监督的机器学习算法,主要用于数据降维、去噪声等,简称PCA。问题1:对于一个二维的特征空间,如何将其降维到一维的特征空间?解决1:在二维特征空间中找到一条直线,将特征空间中所有的样本点映射到这条直线上。问题2:降维过程中,数据会发生丢失,...
2019-02-13 05:26:14
1565
原创 机器学习—梯度下降法
5.梯度下降法5.1什么是梯度下降法5.1.1梯度下降法的实现思想最优化方法是寻找函数(目标函数)极值点的数值方法,包括梯度下降法、牛顿法、坐标下降法、拉格朗日乘数法、凸优化等。梯度下降法是一种基于搜索的最优化方法,它不是机器学习算法;其作用是最小化一个损失函数。梯度是导数对多元函数的推广,它是多元函数对各个自变量偏导数形成的向量,常表示为▽f。一元函数y = f(x)的梯...
2019-02-09 17:12:21
491
原创 机器学习—线性回归算法
4.线性回归算法4.1简单线性回归在前面介绍了一种解决分类问题的最基本算法kNN,本章会介绍解决回归问题的最基本算法—线性回归。线性回归算法思想:寻找一条直线,最大程度的拟合样本特征和样本标签之间的关系。当样本只有一个特征时,称为简单线性回归;样本特征大于1时,称为多元线性回归。4.1.1简单线性回归算法的实现假设最佳拟合的直线方程为y = ax + b;对于每个样本x(i),...
2019-02-08 04:47:10
808
原创 机器学习—k近邻算法
3.k近邻算法3.1 kNN算法的实现k近邻算法(k-Nearest Neighbors)也称为kNN算法,它是算法中最简单、最基础的一种。kNN的基本思想:将数据集分为训练数据集和测试数据集,为了测试的准确率,两个数据集互异;计算测试数据集中每一个样本和训练数据集中每一个样本的距离,统计出距离值最小的k个样本(训练数据集),对k个样本中的标签值进行统计,最多的那个标签值为测试样本的预测;...
2019-02-07 01:25:15
774
原创 机器学习—numpy、matplotlib和sklearn
2.3 numpy库numpy是高性能的科学计算库。在numpy中,引入了”ndarray”多维数组的概念,其一维数组表示向量;二维数组表示矩阵,numpy的优势就是包含了矩阵相关的运算。2.3.1 numpy.ndarray基本属性#程序2-3import numpy as np print(np.__version__) a = np.array([0,1,...
2019-01-30 18:09:27
957
原创 机器学习—2.编程环境和Python3库
2.编程环境和Python3库2.1环境搭建Anaconda官网https://www.anaconda.com/下载windows版本的安装包,直接安装即可。需要注意的是安装用户最好选择“Just me”;安装路径只能在C盘的用户下;在“Advanced Installation Options”中不要勾选“Add Anaconda to my PATH environment vari...
2019-01-28 04:50:00
226
原创 Start Machine Learning
1.机器学习基础知识1.1什么是机器学习机器学习是一种让计算机利用数据而不是指令来进行各种工作的方法。传统的编程理念:对于一个需要解决的问题,通常是先制定规则,然后根据规则编写代码,最后让计算机去执行。但是,当问题的规则无法制定,或问题的规则在不断的变化时,使用传统的编程理念是不可行的,于是引入了机器学习。例:让计算机去识别一只猫。难点:由于猫的种类多种多样,因此难以制定规...
2019-01-27 04:12:59
287
原创 Python3网络爬虫
3.Python3网络爬虫3.1爬虫分析爬取目的:爬取虎牙TV下,英雄联盟主播的人气排行。爬取网页:https://www.huya.com/g/lol分析网页:(1)如何实现爬取目的:抓取主播名称和直播间观看人数;(2)查找数据的html:在360浏览器下,按f12查看网页的html信息,点击html中左上角的箭头,在网页中选择主播名称、或观看人数,则会跳转到对应的htm...
2019-01-23 03:20:53
770
1
原创 Python3第三方库requests
2.Python3第三方库requests2.1安装requests由于requests是第三方库,因此在vs code上需要安装才能使用。PS D:\> cd '.\Program Files (x86)\Python\Python37-32\Scripts\'PS D:\Program Files (x86)\Python\Python37-32\Scripts> ...
2019-01-23 03:19:04
2849
1
原创 Python3内置库urllib的使用
1.Python3内置库urllib1.1 Python3内置库urllib是Python3中使用url的内置库,包含多个模块。(1)urllib.request模块:打开和读取urls。(2)urllib.error模块:包含urllib.request引发的异常。(3)urllib.parse模块:用于分析urls。(4)urllib.robotparser模块:用于分...
2019-01-22 04:35:48
934
原创 Python3快速入门—10.知识扩展
10.Python3扩展10.1异常10.1.1常见异常程序在运行时产生的错误称为异常。在官网https://docs.python.org/3/library/exceptions.html中,对Python3中所有的内置异常进行了详细说明。其具体的层次结构如下:BaseException(所有异常的基类) +-- SystemExit(由sys.exit()引发,表示解...
2019-01-16 01:35:07
363
1
原创 Python3快速入门—9.函数式编程
9.函数式编程9.1闭包9.1.1函数也是对象在Python3中,没有函数重载。即当函数名相同,参数列表不同时,后面定义的函数会覆盖前面定义的函数。#程序9-1def add(x,y): return x+y def add(x,y,z): return x+y+z print(add(1,2))print(add(1,2,3))运行...
2019-01-14 01:56:44
547
原创 Python3快速入门—8.字符串进阶
8.字符串进阶8.1正则表达式8.1.1正则表达式的基本认识正则表达式是一个特殊的字符序列,帮助我们检索、替换字符串中符合某个模式(规则)的文本。#程序8-1import re s = 'Life is short,You need Python!' print('Python' in s) r = re.findall('Python',s)pri...
2019-01-11 01:01:18
407
2
原创 Python3快速入门—7.枚举
7.枚举7.1枚举的定义和使用7.1.1枚举的定义在Python3中新增加了一种数据类型—枚举。枚举的定义:(1)导入enum模块;(2)使用class定义枚举,并继承Enum类;(3)定义枚举成员。#程序7-1from enum import Enum class Color(Enum): RED = 0 BLUE = 1 GREEN...
2019-01-10 01:30:03
2183
原创 Python3快速入门—6.类(完结)
6.3类的封装性类的3大特性:封装性、继承性、多态性。在类的定义中,变量和方法若在类外可以访问,则表示公有成员;若在类外无法访问,则表示私有成员。当变量和方法的命名格式为__xxx,则表示为私有成员。将类中的变量和部分方法隐藏起来,只给外部提供调用接口,称为类的封装性。#程序6-13class Person(): #this is a test count ...
2019-01-06 18:02:03
1239
原创 Python3快速入门—6.类(未完结)
6.类6.1类和对象6.1.1类的定义计算机语言中有2个重要概念:数据、算法。在Python3中,数据可以使用数字、序列、集合、字典来表示;算法可以用函数/方法来实现。为了将数据和算法统一管理,于是引申出了类。Python3中,类中的数据称为变量(注:也有人称为属性),包括类变量和实例变量;类中算法的实现称为方法,包括类方法、实例方法、静态方法和专有方法。类定义格式如下:c...
2019-01-05 17:42:41
291
2
原创 Python3快速入门—5.函数
5.函数5.1函数的定义在Python中,函数定义的格式如下:def funcname(parameter_list): pass其中,funcname是函数名称,parameter_list是函数的参数列表,pass表示函数体。'''this is run.py'''def print_info(a): print(a) f = 1.234...
2019-01-01 04:08:10
477
5
原创 Python3快速入门—4.包和模块
4.包和模块4.1包和模块的含义在Python中,项目的组织结构从高到低依次是:包->模块->类->函数/变量。类和函数在后面的章节中讲解,本章主要讲包和模块。Python包:Python项目下,包含__init__.py文件的文件夹,简称”Package”。模块:Python项目下,包含Python代码的.py文件,简称”Module”。Python包可以理...
2018-12-30 18:05:38
422
原创 Python3快速入门-3.2流程控制语句
3.2条件控制语句3.2.1 if语句格式如下:if condition:pass若condition为True,则执行下面的语句pass;pass前必须有4个空格(一般Tab键会占4个空格),其表示是if的代码块。其中pass是Python中的关键字,表示空语句或占位语句。在后面的学习中,由于代码量较大,将使用vs code来编辑代码。例1:''' 模块...
2018-12-29 02:23:58
262
原创 Python3快速入门-3.1运算符
3.运算符和流程控制语句3.1运算符3.1.1算术运算符(1)运算符+:两个操作数相加,适用于数字、字符串、列表、元组。(2)运算符-:两个操作数相减,适用于数字、集合(差集)。(3)运算符*:两个操作数相乘,适用于数字、字符串、列表、元组。(4)运算符/:两个操作数相除,返回浮点数,适用于数字。(5)运算符%:取余,返回两个操作数相除的余数,适用于数字。(6)运算...
2018-12-28 03:41:47
295
原创 Python3快速入门-2数据类型
2.Python3数据类型2.1基础知识2.1.1 Python3注释在Python中,有2种注释方式:单行注释、多行注释。单行注释:使用#作为单行注释符号。>>> print('hello world') #单行注释hello world>>> #print('hello world')>>> 多行注释:使...
2018-12-27 04:46:54
457
原创 Python快速入门—1.简介
1.Python3简介1.1 Python起源Python是目前最流行的编程语言,在TIOBE编程语言排行榜,一直保持前列。Python作者:Guido van Rossum(吉多·范罗苏姆),荷兰人,也被称为“Python 之父”。在2000年,BeOpen PythonLabs团队发布了Python2.0。Python2的最后一个版本是2.7,支持时间据说会延长到2020年...
2018-12-23 17:18:00
206
原创 Linux应用编程—完结
5.Linux应用编程5.1文件I/O编程在Linux编程中,读写文件有2种方法:标准C、Linux API。5.1.1标准C使用stdio.h中的函数:fopen、fclose、fwrite、fread。在windows下编程:#include<stdio.h>#include <stdlib.h> int save(){con...
2018-12-19 23:19:22
525
原创 linux应用编程——静态库和动态库
4.动态库和静态库如果编写了一个很有价值的算法,想让别人使用,但又不想公开代码。该怎么办?在C/C++中,使用库的技术,将编译好的代码提供给他人使用。库分为动态库和静态库,在windows系统下,动态库扩展名为dll,静态库扩展名为lib;在linux系统下,动态库扩展名为so,静态库扩展名为a。4.1动态库4.1.1动态库的生成Linux下动态库的规范命名:libxxx.so...
2018-12-09 21:26:51
287
原创 linux应用编程-Makefile和gdb调试
3.4 Makefile在前面学会使用命令行来编译Linux程序。项目有hello.cpp、other.cpp、other.h文件。方法1:命令行编译g++ hello.cpp other.cpp -o hello方法2:命令行编译链接g++ -c hello.cpp -o hello.og++ -c other.cpp -o other.og++ hello.o o...
2018-12-07 14:54:33
1323
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人