def

python 之网络编程汇总

China☆狼群 提交于 2021-02-01 11:33:53
网络编程,即不同网络中电脑之间的数据通信。网络编程主要有两种方式UDP数据报协议和TCP数据流协议。UDP协议是一种无连接的数据传输协议,特点就是:速度快,无需连接, 可以进行广播消息。TCP是一种较安全的面向连接的传输协议,其需要通信双方建立连接(三次握手过程),关闭时四次挥手的通信方式,在网络传输中应用较方便,其数据较安全,因 数据进行检验和超时重传,不会发生数据丢失,或者数据错乱现。 1 .IPV4,IPV6,TCP,UDP,HTTP,FTP等概念的涵义     ip协议属于网络层的协议,   IPV4 :互联网协议第4版,IPV6是v4的下一代,其ip长度128位。   tcp / udp是传输层的协议,   http是应用层的协议   FTP是文件传输协议,基于tcp。 2 .使用tcp创建文件传输的服务器和客户机程序: 服务器程序: # 思路:客户端建立连接后,输入文件名,服务器进行传输,传输完毕后,关闭连接 # 难点:采用多线程方法建立多任务,对每一连接建立传输线程。 import socket,os,threading def sendfile(new_ss): while 1 : data =new_ss.recv(1024 ) if os.path.exists(data.decode()): with open(data.decode(), " r " ,

CNN 经典网络之-ResNet

拟墨画扇 提交于 2021-02-01 11:28:33
resnet 又叫深度残差网络 图像识别准确率很高,主要作者是国人哦 深度网络的退化问题 深度网络难以训练,梯度消失,梯度爆炸,老生常谈,不多说 resnet 解决了这个问题,并且将网络深度扩展到了最多152层。怎么解决的呢? 残差学习 结构如图 在普通的卷积过程中加入了一个x的恒等映射(identity mapping) 专家把这称作 skip connections 或者 shortcut connections 残差结构的理解 为什么要这样呢?下面我从多个角度阐述这个问题。 生活角度 每学习一个模型,我都希望能用日常的生活去解释为什么模型要这样,一是加深对模型的理解,二是给自己搭建模型寻找灵感,三是给优化模型寻找灵感。 resnet 无疑是解决很难识别的问题的,那我举一个日常生活中人类也难以识别的问题,看看这个模型跟人类的识别方法是否一致。 比如人类识别杯子里的水烫不烫 一杯水,我摸了一下,烫,好,我的神经开始运转,最后形成理论杯子里的水烫,这显然不对 又一杯水,我一摸,不烫,好嘛,这咋办,认知混乱了,也就是无法得到有效的参数, 那人类是怎么办呢? 我们不止是摸一摸,而且在摸过之后还要把杯子拿起来仔细看看,有什么细节可以帮助我们更好的识别,这就是在神经经过运转后,又把x整体输入, 当然即使我们拿起杯子看半天,也可能看不出任何规律来帮助我们识别,那人类的作法是什么呢?我记住吧

Google 是如何设计 Ruby Serverless Runtime 的?

孤街浪徒 提交于 2021-02-01 10:50:28
Google 在设计 Ruby Serverless Runtime 时面临的一些设计问题,做出的决策以及为什么做出这些决策。 本文来源: ServerlessLife 公众号 原文:https://daniel-azuma.com/blog/2021/01/20/designing-a-ruby-serverless-runtime 作者:Daniel Azuma(Google) 译者:donghui 2021年1月中旬,Google 宣布了 Cloud Functions 的 Ruby 运行时公测。Cloud Functions 是 Google 的函数即服务(Faas)平台。在过去的一年时间里,Google Cloud Functions 对 Ruby 语言的支持已经落后于其他语言,但是我们现在已经赶上了,我想我会分享该产品背后的一些设计过程。 本文不是传统的设计文档。我不会逐步介绍设计本身。相反,我想讨论我们面临的一些设计问题,做出的决策以及为什么做出这些决策。因为这是一个关于如何将 Ruby 约定与公共云约定融合的有趣练习。我认为,我们做出的一些权衡,代表着整个 Ruby 社区随着行业的发展而面临的挑战。 一种实现 Ruby Serverless 化的方式 为 Serverless 产品提供 Ruby 支持比您预期的要复杂得多。从最基本的角度来看,语言运行时只是 Ruby

80行Python实现-HOG梯度特征提取(转载)

被刻印的时光 ゝ 提交于 2021-02-01 04:20:32
本文原文链接:https://blog.csdn.net/ppp8300885/article/details/71078555 本文用80行代码的Python实现了HOG算法,代码在Github Hog-feature,虽然OpenCV有实现好的Hog描述器算法,但是本文目的是完全理解HOG特征提取的具体方法和实现原理,以及检验相关参数对实验结果的影响,提升检测到的特征的性能以及优化代码的运行速度。 1. 方法简介 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的描述子。通过计算和统计局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。现如今如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。 主要思想:在一幅图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。其本质是梯度的统计信息,而梯度主要存在于边缘所在的地方。 实现过程:简单来说,首先需要将图像分成小的连通区域,称之为细胞单元。然后采集细胞单元中各像素点的梯度或边缘的方向直方图。最后把这些直方图组合起来就可以构成特征描述器。 算法优点:与其他的特征描述方法相比,HOG有较多优点

AWD平台搭建

做~自己de王妃 提交于 2021-02-01 00:20:12
因为之前是被AWD比赛坑过,所以想着自己搭建一下啦。这样方便可以本校和某高校,两个学校的人进行相互交流,共同进步。 搭建前提: ubuntu16.04镜像,这个最好放到虚拟机里面进行加载。(附:Ubuntu的源可以换成阿里云的,这样的话下载速度就会比较快,这里我是给出别人的博客,我是换成阿里云的源 https://blog.csdn.net/lym152898/article/details/79100507 在虚拟机里面启动好之后,然后再加载docker容器,这个容器可以存放我们比赛时候的ctf环境。启动比赛环境还是挺容易的,就是模板的问题,下面是搭建的步骤。 1.安装docker环境: 正常ubuntu里面是没有docker环境的,这样我们就需要下载一个docker环境。因为是linux系统,所以还是命令行下载。不过我就不演示了,直接放出别人的博客吧。如果博客失效了,大家还可以是百度下ubuntu系统安装docker环境。 https://www.cnblogs.com/jiyang2008/p/9014960.html 2.下一步就是克隆项目   sudo git clone https://github.com/zhl2008/awd-platform.git 3.进入项目   sudo cd awd-platform/ 4.下载镜像,木有镜像等于白搭   sudo

网络爬虫之scrapy框架设置代理

泪湿孤枕 提交于 2021-01-31 05:30:48
前戏 os.environ()简介 os.environ()可以获取到当前进程的环境变量,注意,是当前进程。 如果我们在一个程序中设置了环境变量,另一个程序是无法获取设置的那个变量的。 环境变量是以一个字典的形式存在的,可以用字典的方法来取值或者设置值。 os.environ() key字段详解 windows: os.environ['HOMEPATH']:当前用户主目录。 os.environ['TEMP']:临时目录路径。 os.environ[PATHEXT']:可执行文件。 os.environ['SYSTEMROOT']:系统主目录。 os.environ['LOGONSERVER']:机器名。 os.environ['PROMPT']:设置提示符。 linux: os.environ['USER']:当前使用用户。 os.environ['LC_COLLATE']:路径扩展的结果排序时的字母顺序。 os.environ['SHELL']:使用shell的类型。 os.environ['LAN']:使用的语言。 os.environ['SSH_AUTH_SOCK']:ssh的执行路径。 内置的方式 原理 scrapy框架内部已经实现了设置代理的方法,它的原理是从环境变量中取出设置的代理,然后再使用, 所以我们只需要在程序执行前将代理以键值对的方式设置到环境变量中即可。

Tornado——异步,websocket

不问归期 提交于 2021-01-31 01:05:53
模拟tornado两个socket请求 同步执行 按部就班的依次执行,知道上一个步骤执行完才执行下一步。 # coding:utf-8 import time def long_io(): # 长io操作 print("开始执行IO操作") time.sleep(2) print("完成IO操作") def req_a(): # 模拟请求a print('开始处理请求req_a') long_io() # 执行一个长io操作 print('完成处理请求req_a') def req_b(): # 模拟请求b print('开始处理请求req_b') print('完成处理请求req_b') def main(): # 模拟tornado框架,处理两个请求 req_a() req_b() if __name__ == "__main__": main() 结果: 开始处理请求req_a 开始执行IO操作 完成IO操作 完成处理请求req_a 开始处理请求req_b 完成处理请求req_b 异步执行 对于耗时的过程,我们将其交给别人(如其另外一个线程)去执行,而我们继续往下处理,当别人执行完耗时操作后再将结果反馈给我们,这就是我们所说的异步。 1)引入线程和回调函数 # coding:utf-8 import time,threading # 引入多线程 thread_list = [

十八、深入Python函数

狂风中的少年 提交于 2021-01-30 11:55:39
「@Author:Runsen」 近来,越来越多人使用函数式编程(functional programming)。本文对 Python 中的函数式编程技术进行了简单的入门介绍。 @ 入门 函数式编程 多态 嵌套函数 函数变量作用域 闭包 入门 Python内置了很多有用的函数,我们可以直接调用。 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。 也可以在交互式命令行通过help(abs)查看abs函数的帮助信息。 调用abs函数: >>> abs(100) 100 >>> abs(-20) 20 >>> abs(12.34) 12.34 函数式编程 在Python中的函数就是为了实现某一段功能的代码段,可以重复利用。 就是以后不要重复造轮子,遇到那个场景就用那个函数,就是函数式编程。 下面,我定义一个 my_func,传入一个Hello World,再打印一个Hello World def my_func (message) : print( 'Got a message: {}' .format(message)) # 调用函数 my_func() my_func( 'Hello World' ) # 输出 Got a message: Hello World 简单的知识点 def是函数的声明 my_func是函数的名称 message

LeetCode对撞指针汇总

 ̄綄美尐妖づ 提交于 2021-01-30 09:51:44
题目来源: leetCode 344,345,11 自我感觉难度/真实难度: 写题时间时长:2 题意: 分析: 都是使用对撞指针的技术 自己的代码: 代码效率/结果: 优秀代码: 11题 class Solution(object): def maxArea(self, a): """ :type height: List[int] :rtype: int """ r =len(a)-1 l = 0 maxA = 0 while l< r: area =(r-l)* min(a[l],a[r]) if area> maxA: maxA = area if a[l]< a[r]: l +=1 else : r -=1 return maxA 代码效率/结果: 自己优化后的代码: 反思改进策略: 1.python里面基本不用templ来取最大值,直接使用max(templ,old_max) 2,对撞指针,注意指针的更新 3一般以 while l<r 开始 来源: oschina 链接: https://my.oschina.net/u/4382976/blog/3548846

pytest-html报告修改与汉化

喜夏-厌秋 提交于 2021-01-30 03:59:53
前言 Pytest框架可以使用两种测试报告,其中一种就是使用pytest-html插件生成的测试报告,但是报告中有一些信息没有什么用途或者显示的不太好看,还有一些我们想要在报告中展示的信息却没有,最近又有人问我pytest-html生成的报告,能不能汉化?答案是肯定的,那么今天就教大家如何优化和汉化pytest-html测试报告解决上述问题 生成报告 我们先编写一个简单的测试代码,生成一份原始的测试报告,来看看哪些需要修改 测试代码 test_pytest_html.py """ ------------------------------------ @Time : 2019/8/28 19:45 @Auth : linux超 @File : test_pytest_html.py @IDE : PyCharm @Motto: Real warriors,dare to face the bleak warning,dare to face the incisive error! @QQ : 28174043@qq.com @GROUP: 878565760 ------------------------------------ """ import pytest def login(username, password): """ 模拟登录 """ user = "