def

神经网络中的批标准化

ぃ、小莉子 提交于 2020-10-04 08:20:13
作者|Emrick Sinitambirivoutin 编译|VK 来源|Towards Data Science 训练学习系统的一个主要假设是在整个训练过程中输入的分布保持不变。对于简单地将输入数据映射到某些适当输出的线性模型,这种条件总是满足的,但在处理由多层叠加而成的神经网络时,情况就不一样了。 在这样的体系结构中,每一层的输入都受到前面所有层的参数的影响(随着网络变得更深,对网络参数的小变化会被放大)。因此,在一层内的反向传播步骤中所做的一个小的变化可以产生另一层的输入的一个巨大的变化,并在最后改变特征映射分布。在训练过程中,每一层都需要不断地适应前一层得到的新分布,这就减慢了收敛速度。 批标准化克服了这一问题,同时通过减少训练过程中内层的协方差移位(由于训练过程中网络参数的变化而导致的网络激活分布的变化) 本文将讨论以下内容 批标准化如何减少内部协方差移位,如何改进神经网络的训练。 如何在PyTorch中实现批标准化层。 一些简单的实验显示了使用批标准化的优点。 减少内部协方差移位 减少消除神经网络内部协方差移位的不良影响的一种方法是对层输入进行归一化。这个操作不仅使输入具有相同的分布,而且还使每个输入都白化(白化是对原始数据x实现一种变换,变换成x_Whitened,使x_Whitened的协方差矩阵的为单位阵。)。该方法是由一些研究提出的,这些研究表明

python高级-闭包-装饰器

拟墨画扇 提交于 2020-10-03 21:41:49
闭包内容: 匿名函数:能够完成简单的功能,传递这个函数的引用,只有功能 普通函数:能够完成复杂的功能,传递这个函数的引用,只有功能 闭包:能够完成较为复杂的功能,传递这个闭包中的函数以及数据,因此传递是功能+数据 对象:能够完成最复杂的功能,传递很多数据+很多功能,因此传递的是数据+功能 ——————————————————— 对全局函数进行修改:在函数当中加global,在闭包中外边中的变量加nonlocal 闭包定义:有两个函数嵌套使用,里面的函数可以使用外面函数所传输的参数,最后可传递的是里面函数的结构与数据(个人理解)。 最后闭包可以在python中引申出装饰器 ——————————————————— 1 def closure(): 2 # 在函数内部再定义一个函数, 3 # 并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包 4 def closure_in(x): 5 print ( ' ---------我是打不死的%s-------- ' % x) 6 return closure_in 7 ​ 8 x = closure() 9 x( ' 小强 ' ) 10 ​ 11 print ( ' * ' *20 ) 12 # -----加餐--------- 13 def closure_1(a,b,c): 14 def closure_on

Python中用requests处理cookies的3种方法

烂漫一生 提交于 2020-10-03 19:46:03
在接口测试中,大多数项目的接口是需要登录后进行操作的,经常用到requests库进行模拟登录及登录后的操作,下面是我不断踩坑后总结出来的关于登录凭证cookies的3种操作方法。 一. 用 requests.utils.dict_from_cookiejar() 把返回的cookies转换成字典   1. 处理cookies: 1 import requests 2 3 def login(): 4 login_url = ' http://www.xxx.com/login 5 headers = { 6 " Accept " : " application/json, text/javascript, */*; q=0.01 " 7 } 8 body = { 9 " usercode " : " liuzz05@****.com " , 10 " password " : " 123456 " 11 } 12 try : 13 res = requests.post(url=login_url, headers=headers, data= body) 14 cookies = res.cookies 15 16 cookie = requests.utils.dict_from_cookiejar(cookies) 17 18 return cookie 19 except

[深度应用]·Keras实现Self-Attention文本分类(机器如何读懂人心)

半城伤御伤魂 提交于 2020-10-03 13:11:04
[深度应用]·Keras实现Self-Attention文本分类(机器如何读懂人心) 配合阅读: [深度概念]·Attention机制概念学习笔记 [TensorFlow深度学习深入]实战三·分别使用DNN,CNN与RNN(LSTM)做文本情感分析 笔者在 [深度概念]·Attention机制概念学习笔记 博文中,讲解了Attention机制的概念与技术细节,本篇内容配合讲解,使用Keras实现Self-Attention文本分类,来让大家更加深入理解Attention机制。 作为对比,可以访问 [TensorFlow深度学习深入]实战三·分别使用DNN,CNN与RNN(LSTM)做文本情感分析 ,查看不同网络区别与联系。 一、Self-Attention概念详解 了解了模型大致原理,我们可以详细的看一下究竟Self-Attention结构是怎样的。其基本结构如下 ​ 对于self-attention来讲,Q(Query), K(Key), V(Value)三个矩阵均来自同一输入,首先我们要计算Q与K之间的点乘,然后为了防止其结果过大,会除以一个尺度标度 ​ ,其中 ​ 为一个query和key向量的维度。再利用Softmax操作将其结果归一化为概率分布,然后再乘以矩阵V就得到权重求和的表示。该操作可以表示为 ​ 这里可能比较抽象,我们来看一个具体的例子(图片来源于 https:/

对于已经成功的1000页,也要修改。为了以后代码执行的工作量小点!进行切割:

别来无恙 提交于 2020-10-03 12:08:00
代码:【并不完善,需要手工修改一下!】 1 ''' 2 核心思想,就是通过不同的id号进行查找。不想要的,移除掉! 3 ''' 4 5 import json 6 def makes(): 7 i = 24999 # 截取后面的 8 # i = 49999# 截取前面的 9 cve_num0_file = open( ' D:/1hos/cvebase_ifo.json ' , " r " ) 10 cvesum = json.load(cve_num0_file) 11 # print(cvesum[i]['id']) 12 # while i > 25000:#截取前面的 13 while i > 0: # 截取后面的 14 print (cvesum[i][ ' id ' ]) 15 if int(cvesum[i][ ' id ' ]) < 25000 : 16 # cvesum[i].remove 17 del cvesum[i] 18 i -= 1 # 截取前面的 19 # i += 1#截取后面的 20 21 # with open('D:/1swqcve/cve_num1.json', "w+") as json_file: 22 # json_str = json.dumps(cve_num1_context, indent=4) 23 # json_file

万物皆可 Serverless 之借助微信公众号简单管理用户激活码

孤街浪徒 提交于 2020-10-03 07:07:01
作为一名独立开发者,最近我在考虑给自己的应用加入付费功能,然后应用的核心功能只需使用激活码付费激活即可。这个需求涉及到了激活码的保存、校验和后台管理,传统的做法可能是自己购买服务器,搭建配置服务器环境,然后创建数据库,编写后端业务逻辑代码,必要的时候还要自己去写一些前端的界面来管理后台数据。 这是一个十分耗时且无趣的工作。本文则独辟蹊径,尝试带大家使用云函数 SCF 和对象存储 COS,快速编写上线自己的用户激活码后端管理云函数,然后把自己的微信公众号后台做为应用前台,简单管理用户激活码。 效果展示 可以看到,现在我们只需要在自己的微信公众号后台回复 会员@激活时长,就可以添加并回复一个指定有效期的会员激活码,实现了在微信公众号简单管理用户激活码的需求。 操作步骤 第一步:新建 python 云函数 参见之前的系列文章 《万物皆可 Serverless 之使用 SCF+COS 快速开发全栈应用》 第二步:编写云函数 话不多说,上代码 import json from wechatpy.replies import ArticlesReply from wechatpy.utils import check_signature from wechatpy.crypto import WeChatCrypto from wechatpy import parse_message,

【python】利用jieba中文分词进行词频统计及生成词云

北战南征 提交于 2020-10-03 06:26:22
以下代码对鲁迅的《祝福》进行了词频统计: 1 import io 2 import jieba 3 txt = io.open( " zhufu.txt " , " r " , encoding= ' utf-8 ' ).read() 4 words = jieba.lcut(txt) 5 counts = {} 6 for word in words: 7 if len(word) == 1 : 8 continue 9 else : 10 counts[word] = counts.get(word,0) + 1 11 items = list(counts.items()) 12 items.sort(key= lambda x:x[1], reverse= True) 13 for i in range(15 ): 14 word, count = items[i] 15 print (u " {0:<10}{1:>5} " .format(word, count)) 结果如下: 并把它生成词云 1 from wordcloud import WordCloud 2 import PIL.Image as image 3 import numpy as np 4 import jieba 5 6 # 分词 7 def trans_CN(text): 8 # 接收分词的字符串

从软件开发到 AI 领域工程师:模型训练篇

孤街浪徒 提交于 2020-10-03 04:57:39
前言 4 月热播的韩剧《王国》,不知道大家有没有看?我一集不落地看完了。王子元子出生时,正逢宫内僵尸作乱,元子也被咬了一口,但是由于大脑神经元尚未形成,寄生虫无法控制神经元,所以医女在做了简单处理后,判断不会影响大脑。这里提到了人脑神经元,它也是 AI 神经网络的研究起源,具体展开讲讲。 人脑中总共有 860 亿个神经元,其中大脑皮层有 160 亿个神经元。大脑皮层的神经元数量决定了动物的智力水平,人的大脑皮层中神经元数量远高于其他物种,所以人类比其他物种更聪明。大象的脑子总共有 2570 亿个神经元,但是其中 98% 的神经元都存在于大象的小脑中,而大象的大脑皮层只有 56 亿个神经元,无法与人类相比。大脑皮层中的神经元数量越大,能耗也越大。人脑每天消耗的能量占人体全部耗能的 25%,这也就是为什么我们每天都要吃多餐,很容易饿的原因。人之所以能够很快超越其他物种,主要是因为人类掌握了烹饪技术,能够在短时间内摄入大量卡路里以支持大脑运转,其他物种则将摄入的卡路里用于维护身体运转,不得不牺牲大脑皮层的神经元数量。 之所以先谈大脑神经元原理,也是为了引出本文的重点–现代 AI 技术。 在正式进入 AI 技术前,我先讲讲软件工程师这份工作,因为现在有很多软件工程师准备转入 AI 行业。 软件工程师 我是软件工程师出身,2004 年刚毕业时我写的是 JSP 代码(一种将 Java

MindSpore!这款刚刚开源的深度学习框架我爱了!

时光毁灭记忆、已成空白 提交于 2020-10-03 01:53:29
【摘要】 本文主要通过两个实际应用案例:一是基于本地 Jupyter Notebook 的 MNIST 手写数据识别;二是基于华为云服务器的 CIFAR-10 图像分类,对开源框架 MindSpore 进行介绍。 犹记得今年的华为开发者大会 HDC 2020 上,一直受人瞩目的深度学习框架 MindSpore 终于开源了。 我之前一直关注 MindSpore,还是挺期待的。MindSpore 是一款支持端、边、云独立/协同的统一训练和推理框架。与 TensorFlow、PyTorch 等流行深度学习框架对标,MindSpore 旨在大幅度降低 AI 应用开发门槛,让人工智能无处不在。 MindSpore 最大的特点就是开发门槛大大降低,提高开发效率,这样可以显著减少模型开发时间。 因此,使用MindSpore的优势可以总结为以下四点: ●简单的开发体验 ●灵活的调试模式 ●充分发挥硬件潜能 ●全场景快速部署 既然开源了,那就赶紧上手,试一试这款开源的 MindSpore 怎么样!本文我将介绍 MindSpore 的安装和上手教程,通过一个简单的图像识别案例来跑完整个 AI 训练和测试流程。 一、MindSpore 的安装 开源框架 MindSpore 的安装方法有很多,可以在 Windows、Ubuntu 上安装,也可以在华为 Ascend 910 上安装

wxpython之dialog学习

∥☆過路亽.° 提交于 2020-10-03 00:06:57
[这段时间一直在学wxpython,但一直以读代码为主,总感觉不写点,无法进步,所以就在这开一个写wxpython代码的头,以资鼓励...] 这篇其实比较简单,就是一个带有按钮的窗口,但点击这个按钮后提示一个对话框。 import wx class SubclassDialog(wx.Dialog): def __init__(self): wx.Dialog.__init__(self, None, -1, 'Dialog', pos=(200,200),size=(300, 100)) okButton = wx.Button(self, wx.ID_OK, "OK", pos=(15, 15)) okButton.SetDefault() cancelButton = wx.Button(self, wx.ID_CANCEL, "Cancel", pos=(115, 15)) class TestFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self,None,-1,'Study dialog of wxpython') panel=wx.Panel(self,-1) button=wx.Button(panel,-1,"Open dialog!",pos=(150,70),size=(100,50),style