- 博客(73)
- 资源 (1)
- 收藏
- 关注

原创 超分辨率中的注意力机制
深度学习中的注意力机制一.注意机制可分为两种类型根据它们所适用的范围:通道注(CA)和空间注意(SA)。CA和SA可以进一步分为三个过程:1.squeeze:通过通道(CA)或空间区域(SA)从X中提取一个或多个统计量S的过程。统计量通过池化方法提取,SA可使用1X1的卷积。2.excitation:利用提取的统计数据,进行激励过程捕获通道(CA)或空间区域(SA)之间的相互关系,生成一个...
2020-04-26 21:01:52
4043
2

原创 DRN ---Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution
Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution这篇博客主要介绍一下DRN,这是2020年最新出来超分辨重建文章。相信大家都阅读过很多超分辨率的文章,都知道超分辨率是一病态的问题。因为在现实生活中一张低分辨率图片产生的方式有很多种,而在我们目前的研究当中,几乎所有的研究人员在训练端对端的...
2020-04-21 20:44:27
3075
5
原创 select、poll和epoll三种事件驱动模型
selectselect最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,事实上从现在看来,这也是它所剩不多的优点之一。select的一个缺点在于单个进程能够监视的文件描述符的数量存在最大限制,在Linux上一般为1024,不过可以通过修改宏定义甚至重
2021-04-21 12:08:30
446
原创 python如何读取比内存大的文件
使用生成器 yield 逐行读取到内存def read_file(filename): with open(filename, 'r', encoding='utf-8') as f: for line in f: yield lineline_content = read_file(filename="/data.txt")for line in line_content: print line...
2021-04-20 10:14:54
288
原创 redis那么快的原因
1.纯内存操作,一般都是简单的存取操作,线程占用的时间很多,时间的花费主要集中在 IO 上,所以读取速度快。2.整个 Redis 就是一个全局 哈希表,他的时间复杂度是 O(1),而且为了防止哈希冲突导致链表过长,Redis 会执行 rehash 操作,扩充 哈希桶数量,减少哈希冲突。并且防止一次性 重新映射数据过大导致线程阻塞,采用 渐进式 rehash。巧妙的将一次性拷贝分摊到多次请求过程后总,避免阻塞。3.Redis 使用的是非阻塞 IO:IO 多路复用,使用了单线程来轮询描述符,将数据库的开、关
2021-04-13 10:57:30
846
转载 Java的单例模式
单例模式的优点和缺点单例模式的优点: 单例模式可以保证内存里只有一个实例,减少了内存的开销。 可以避免对资源的多重占用。 单例模式设置全局访问点,可以优化和共享资源的访问。单例模式的缺点: 单例模式一般没有接口,扩展困难。如果要扩展,则除了修改原来的代码,没有第二种途径,违背开闭原则。 在并发测试中,单例模式不利于代码调试。在调试过程中,如果单例中的代码没有执行完,也不能模拟生成一个新的对象。 单例模式的功能代码通常写在一个类中,如果功能设计不合理,则很容易违背单一职责原则。单例模式的
2021-03-29 16:23:44
327
原创 rest-framework框架的基本组件
序列化创建一个序列化类简单使用开发我们的Web API的第一件事是为我们的Web API提供一种将代码片段实例序列化和反序列化为诸如json之类的表示形式的方式。我们可以通过声明与Django forms非常相似的序列化器(serializers)来实现。models部分:from django.db import models# Create your models here.class Book(models.Model): title=models.CharField(ma
2020-08-03 19:26:24
273
原创 常用状态码及请求方式
200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务)204 NO CONTENT - [DELETE]:用户删除数据成功。400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。401 Unau
2020-07-04 16:28:59
251
原创 Django开发学习之用户认证组件(auth)
用户认证auth模块from django.contrib import authdjango.contrib.auth中提供了许多方法,这里主要介绍其中的三个:1.1 、authenticate()提供了用户认证,即验证用户名以及密码是否正确,一般需要username password两个关键字参数如果认证信息有效,会返回一个 User 对象。authenticate()会在User 对象上设置一个属性标识那种认证后端认证了该用户,且该信息在后面的登录过程中是需要的。当我们试图登陆一个
2020-06-20 16:02:55
314
原创 Django开发学习之models和forms的转换
三个关键字ChoiceFieldModelChoiceField(ChoiceField) ----select(单选)MultiModelChoiceField(ModelChoiceField) ----select(多选)class Book(model.Model): title = models.CharField(max_length=32) price = models.IntegerField() publish = models.Foreignkey('Publish')
2020-06-18 21:58:13
339
原创 Django开发学习之forms组件
forms组件校验字段功能针对一个实例:注册用户讲解。模型:models.pyclass UserInfo(models.Model): name=models.CharField(max_length=32) pwd=models.CharField(max_length=32) email=models.EmailField() tel=models.CharField(max_length=32)模板: register.html:<!DOCTYPE
2020-06-18 19:51:10
191
原创 Django开发学习之Session、Cookie
会话跟踪技术1.什么是会话跟踪技术我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了。从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束。在通话过程中,你会向10086发出多个请求,那么这多个请求都在一个会话中。在JavaWeb中,客户向某一服务器发出第一个请求开始,会话就开始了,直到客户关闭了浏览器会话结束。在一个会话的多个请求中共享数据,这就是
2020-06-16 14:14:49
204
原创 Django开发学习之Ajax(二)
Ajax准备知识:jsonAjax准备知识:json什么是json?定义:JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。讲json对象,不得不提到JS对象:合格的json对象:
2020-06-14 19:51:36
303
原创 Django开发学习之Ajax(一)
AjaxAjax简介AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新;(这一特点
2020-06-14 19:26:30
188
原创 Django开发学习之Django-MTV
MTV模型Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Template(模版):负责如何把页面展示给用户 View(视图):负责业务逻辑,并在适当的时候调用Model和Template 此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和TemplateDjango基本命令1、下载Django:pip3 install django2、
2020-06-14 17:22:03
429
原创 Django开发之Admin定制
admin的定制在admin.py中只需要讲Mode中的某个类注册,即可在Admin中实现增删改查的功能,如:admin.site.register(models.UserInfo)但是,这种方式比较简单,如果想要进行更多的定制操作,需要利用ModelAdmin进行操作,如:方式一: class UserAdmin(admin.ModelAdmin): list_display = ('user', 'pwd',) admin.site.register(mod
2020-06-14 15:01:09
505
原创 Django开发学习之中间件
中间件中间件的概念:中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能。Django的中间件的定义:Middleware is a framework of hooks into Django’s request/response processing. <br>It’s a light, low-level “plugin” system for
2020-06-14 14:20:07
162
原创 Django学习之名称空间(namespace)
命名空间(英语:Namespace)是表示标识符的可见范围。一个标识符可在多个命名空间中定义,它在不同命名空间中的含义是互不相干的。这样,在一个新的命名空间中可定义任何标识符,它们不会与任何已有的标识符发生冲突,因为已有的定义都处于其它命名空间中。由于name没有作用域,Django在反解URL时,会在项目全局顺序搜索,当查找到第一个name指定URL时,立即返回我们在开发项目时,会经常使用name属性反解出URL,当不小心在不同的app的urls中定义相同的name时,可能会导致URL反解错误,为了避
2020-06-14 14:04:40
491
原创 python学习之numpy的学习
import numpy as nparray = np.array([[1, 2, 3], [2, 3, 4]])print (array)print ('number of dim:', array.ndim) # 求矩阵的维度print ('shape:', array.shape) # 求矩阵的形状print ('size:', array.size) # 求矩阵的大小a = np.zeros((2, 3)) # 生成一个全为零的矩阵pr
2020-06-14 11:43:44
235
原创 python学习之正则表达式
import reret = re.findall('w\w{2}l','hello world')print(ret)ret =re.findall('lzh','dsfsfsflzhfsfsffs')print(ret)元字符.通配符ret = re.findall('w..l','hello world') # .只能代指任意一个字符print(ret)^ret = re.findall('^h...o','hlsaodfhello')print(ret)$r
2020-06-14 11:42:08
238
原创 Django开发学习之分页器
Django的分页器view.pyfrom django.shortcuts import render,HttpResponse# Create your views here.from app01.models import *from django.core.paginator import Paginator, EmptyPage, PageNotAnIntegerdef index(request): ''' 批量导入数据: Booklist=[]
2020-06-13 10:18:06
189
原创 Django开发学习之URL的反向解析
在使用Django 项目时,一个常见的需求是获得URL 的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等)。人们强烈希望不要硬编码这些URL(费力、不可扩展且容易产生错误)或者设计一种与URLconf 毫不相关的专门的URL 生成机制,因为这样容易导致一定程度上产生过期的URL。换句话讲,需要的是一个DRY 机制。除了其它有点,它还允许设计的URL 可以自动更新而不用遍历项目的源代码来搜索并替换过期的URL。获取一个URL 最开始想到的信息是处理
2020-06-12 16:23:42
183
原创 Django开发之Admin源码学习
admin 源码:1.注册 admin.py admin.site.register(Book, BookConfig) 源码: class AdminSite(): def __init__(self, name='admin'): self._registry = {} def register(self, model, admin_class): if
2020-06-11 09:23:45
454
原创 Django开发学习之ORM操作
ORM对数据库进行操作之增删改查 # 增 models.UserInfo.objects.create( username=u, sex=s, email=e, year=y, ) ''' create传值的方式二,用字典的形式 models.UserInfo.objects.create( **{ 'username':u,
2020-06-11 09:21:47
176
原创 Django开发学习之单例模式
一个类只允许实例一个对象,该模式的主要目的是确保某一个类只有一个实例存在实现方式1: class Singleton(object): _instance = None def __new__(cls, *args, **kw): if not cls._instance: cls._instance = super(Singleton, cls).__new__(cls, *args, **kw) return cls._instance class My
2020-06-11 09:19:25
1034
原创 Django开发学习之实现跨域请求
实现跨域请求最简便和最常用的方法在视图函数中对http响应的数据加上‘Access-Control-Allow-Origin’的值,这个值一般为你的请求路由地址。例如: def service(request): info = {'name':'egon','age':25,'price':200} response= HttpResponse(json.dumps(info)) response['Access-Control-Allow-Origin'] = 'http://1
2020-06-11 09:15:57
165
原创 ajax请求成功之后控制页面刷新一次
在success:function(arg){}中加入如下代码:window.location.reload();setTimeout(refresh , 5000);
2020-05-13 14:18:05
2427
原创 爬取微信公众号的历史文章
from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.support.wait import WebDriverWaitimport timeimport datetimefrom openpyxl import Workbook
2020-05-10 10:36:39
938
原创 运行RCAN项目代码遇坑总结
一.【Pytorch1.1】ImportError: cannot import name ‘_update_worker_pids’ from ‘torch._C’遇到这个问题首先将自己的pytorch版本改为1.1版本,然后改如下代码:1.from torch._C import _set_worker_signal_handlers, _update_worker_pids, \ _remove_worker_pids, _error_if_any_worker_failsfrom t
2020-05-09 20:22:55
3848
4
转载 在ubantu命令行的模式下怎样debug python代码
Python提供类似于C++ gdb的调试工具pdb,我们可以在Linux下使用pdb在命令行下进行Python程序的调试。官方参考网站:Python2: https://docs.python.org/2/library/pdb.htmlPython3: https://docs.python.org/3/library/pdb.html一般地,我们可以使用如下的方式进入调试(比如我们要调试的源文件为hello.py):在命令行启动目标程序,加上-m参数。python -m pdb hel
2020-05-09 15:30:35
1330
原创 超分辨率论文 EDSR:Enhanced Deep Residual Networks for Single Image Super-Resolution
图像超分辨率网络:EDSR代码地址:https://github.com/fengye-lu/EDSR-PyTorch-master一.前言图像超分辨率(SR)问题,特别是单图像超分辨率(single image super-resolution,SISR)问题,最近十年来受到越来越多的研究关注。SISR的目的是从单个低分辨率图像I(LR)重建高分辨率图像I(SR)。通常,I(LR)与原始的...
2020-05-04 12:35:46
1176
原创 cv2.findContours()出现错误:ValueError: too many values to unpack (expected 2)
contours, hierarchy = cv2.findContours(thresh.copy(),cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)出现错误:ValueError: too many values to unpack (expected 2)contours, hierarchy = cv2.findContours(thresh.copy(),cv...
2020-05-02 13:39:46
3366
2
原创 利用requests和正则爬取猫眼前一百评分电影,并保存到本地
import requests, re, jsonfrom requests.exceptions import RequestExceptionfrom multiprocessing import Pool #引入一个进程池from tqdm import tqdmdef get_one_page(url): headers = { 'User-Agent': ...
2020-05-01 19:40:50
285
原创 非深度学习方法实现摄像头人脸检测
import cv2import numpy as np# Step 1. Define detect functionface_cascade = cv2.CascadeClassifier('haarcascades/haarcascade_frontalface_default.xml')face_cascade.load(r'E:\Python3.6.6\Lib\site-pac...
2020-05-01 11:55:36
378
原创 python中如何将一个可执行程序包装成一个exe可执行文件
1、安装pyinstaller(需要先安装pip)、再:pip install pyinstaller2、定位到pyinstaller.exe所在文件夹(一般再python下的“scripts”文件夹下)3、再添加上你要转换的文件地址(两者之间有空格),pyinstaller.exe后面如果加上-F就是打包为一个exe文件(文件会比较大),如果不加就会有很多库文件;加上-w就是打包为没有cmd...
2020-04-29 19:34:10
709
原创 QQ自动化发情话给女朋友小程序
要实现qq自动发情话给女朋友需要两个条件。第一,要有情话语料,这个要通过爬虫实现。第二,要实现qq发消息的自动化,这个要靠pywin32这个库实现。接下来我们来看具体的代码:import requests,re# requests是用来爬取需要的语料的,re是用来分析语料的def getinfo(url): req = requests.get(url) if re...
2020-04-29 16:10:32
1475
原创 python脚本实现QQ自动发送消息
import win32guiimport win32conimport win32clipboard as wimport timedef send(name, msg): #打开剪贴板 w.OpenClipboard() #清空剪贴板 w.EmptyClipboard() #设置剪贴板内容 w.SetClipboardData(win3...
2020-04-28 15:23:17
9547
4
原创 douban图书的爬取
import requestsimport reheaders = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36'}content = requests.get('...
2020-04-26 15:44:30
457
1
原创 python中的信号量
mport threading, timeclass myThread(threading.Thread): def run(self) -> None: if semaphore.acquire(): print(self.name) time.sleep(3) semaphore.rele...
2020-04-25 21:54:54
384
benchmark.zip
2020-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人