
python
文章平均质量分 96
明哲慕鸿
1
展开
-
WebSocket实现web 终端
前言在做自动化运维时,不可避免的要用到web终端,而web终端主要体现在前后端的实时性的交互,那么websocket是一个很好的选择其结构如下流程为:1、xterm.js 在浏览器端模拟 shell 终端, 监听用户输入通过 websocket 将用户输入的内容上传到 django2、django 接受到用户上传的内容, 将用户在前端页面输入的内容通过 paramiko 建立的 ssh 通道上传到远程服务器执行3、paramiko 将远程服务器的处理结果返回给 django4、django原创 2020-08-27 09:21:31 · 3506 阅读 · 2 评论 -
django+nginx+supervisor+uwsgi+daphne部署linux各种环境配置以及注意事项
简介本文主要讲述通过uwsgi处理http请求,daphne处理websocket请求,然后通过supervisor管理uwsgi与daphne,最后通过nginx作为代理的各种配置以及注意事项。具体配置首先你肯定得有个django的项目,然后就是具体的python环境,现在python一般都是3.6左右的版本,具体的环境就如下pip install django uwsgi supervisor channels# 其中channels包括了daphne的环境然后就是下载nginx环境1)原创 2020-07-04 16:07:04 · 1218 阅读 · 2 评论 -
Canal实现主备数据库的数据同步(python)
简介canal主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费,其业务包括以下几点:1、数据库架构2、数据库实时备份3、索引编制和实时维护(分散索引,倒排索引等)4、业务缓存刷新5、带业务逻辑的增量数据处理原理以下是MySql的主备原理主要步骤为:1、MySQL master将数据记录到二进制日志事件中,可以通过显示binlog事件进行查看2、MySQL slave将master的二进制日志事件复制到它的中继日志(中继日志)3、MySQL slave初始化中继日原创 2020-06-30 08:32:49 · 1278 阅读 · 0 评论 -
识别检测类系统(基于pytorch)(二)
概要上一章说到了通过识别目标的特征来设计相应的规则来提取识别目标的可疑区域,并通过火焰识别的列子进行了详细的说明,本章节主要说明如何通过机器学习与深度学习的方法进行可疑区域的提取。机器学习的提取方法火焰的颜色特征可以通过机器学习分类器如K-NN、朴素贝叶斯等通过训练相应的火焰颜色样本集构建火焰颜色模型,然后通过训练好的颜色模型提取出火焰候选区域。除此以外,机器学习的聚类算法也可以应用在构建火焰颜色模型上,通过火焰像素点在空间的分布得到该类的空间范围,通过判断像素点是否在该空间范围来判断是否为火焰像素点原创 2020-05-30 10:59:16 · 606 阅读 · 0 评论 -
识别检测类系统(基于pytorch)(一)
概要本文主要总结了识别检测类系统该如何做,其步骤有哪些这里以火焰识别系统为列来说明前期准备首先是完成数据采集与标准的工作,这里推荐使用精灵标注助手其次是训练模型的选取,一般识别系统都是基于图片或者视频来实现的,所以模型的般都是通过对图像进行卷积操作进行特征提取。现在用的比较多的神经网络框架有SSD、YOLO、VGG、Fasrer R-CNN等,在后面会详细介绍最后都准备好后就可以进行模型训练了,因为标注的文件读取需要按照一定规则,pytroch中需要重写utils文件中data的Dataset类原创 2020-05-29 23:05:18 · 1034 阅读 · 0 评论 -
Pytorch的学习——U-Net语义分割
U-NetUNet是通过自编码的形式实现物体的分类与预测,其主体由一个编码器与一个解码器组成,结构如下图。该网络先对维度为(3,H,W)的图像进行4次下采样,再进行上采样,用之前的低层特征图,与上采样后的特征图进行融合,重复上采样和融合过程直到得到与输入图像尺寸相同的分割图,输出结果图的维度为(1,H,W),最后通过sigmoid()函数将数值化为(0,1)区间,得到输出图。模型代码im...原创 2020-05-01 14:30:57 · 1486 阅读 · 4 评论 -
Django线上部署跨域处理
问题在本地开发前后端分离项目时,通过前端配置index.js的proxyTable进行代理解决同源策略的问题后,在打包线上部署后还是会被同源策略拦截。解决方法首先需要安装django-cors-headerspip install django-cors-headers然后修改settings.pyINSTALLED_APPS = [ ...... 'corshead...转载 2020-04-06 16:10:45 · 221 阅读 · 0 评论 -
keroku上部署Django和vue
前置条件注册heroku账户最好用gmail邮箱,因为是外网的原因,验证页面无法显示,所以注册的时候必须翻墙,这就八仙过海各显神通。创建heroku app使用heroku需要先登录heroku login然后会弹出网页,输入邮箱密码登录完成就可以关闭网页了然后创建appheroku create [app名称]创建完成会出现以下这时候需要进入你需要上传的根目录Djan...原创 2020-04-06 15:59:17 · 347 阅读 · 0 评论 -
Pytorch的学习——VGG的搭建
VGGvgg是比较经典的卷积神经网络,主要由卷积层–>归一化–>激活函数–>池化层以及全连接层组成。其中卷积层–>归一化–>激活函数是主体,池化层主要是对数据实行进行尺度变换,全连接层输出最后的结果,进行分类。import torchimport torch.nn as nnimport numpy as npimport cv2from PIL impo...原创 2020-03-04 17:00:56 · 727 阅读 · 0 评论 -
Pytorch的学习——Yolov3的搭建
Yolov3整个Yolov3一共经历三次下采样三次上采样,最后一共有三个输出,输出的维度分别为[通道数, 8, 8], [通道数, 16, 16], [通道数, 32, 32]import torch.nn as nn# yolo的darknet模块class Darknet(nn.Module): def __init__(self, num_in, num_out, ksi...原创 2020-03-04 16:45:09 · 2209 阅读 · 4 评论 -
Pytorch踩坑——ResNet50读取的图片长宽固定的问题
问题一RuntimeError: size mismatch, m1: [1 x 8192], m2: [2048 x 2] at C:\w\1\s\tmp_conda_3.7_104508\conda\conda-bld\pytorch_1572950778684\work\aten\src\TH/generic/THTensorMath.cpp:197经过查询发现resnet50、res...原创 2020-03-01 18:34:12 · 8299 阅读 · 1 评论 -
Pytorch踩坑——图像的读取方式对预测结果的影响
1、检测结果差异巨大通过Pytorch自带的ImagerFolder读取训练集,读取图片的方式是通过PIL库,而当我们进行一些图像操作通过Opencv读取时,会出现检测结果与预期差异巨大的情况。这是因为PIL与Opencv读取图像的算法不同,同一张图片通过PIL读取预测与通过Opencv读取预测结果是明显不一样的。如下是通过ImagerFolder读取训练集,训练的模型。import torc...原创 2020-03-01 13:19:47 · 1876 阅读 · 5 评论 -
Pytorch的学习——残差神经网络
残差神经网络残差神经网络产生的原因:为了更好的神经网络效果,研究人员想到了深层神经网络,即在浅层神经网络的基础上加更多的神经网络层,但是因为过拟合等的原因深层网络可能准确率还不如浅层网络,尽管误差值差不多,所以研究人员想到了添加恒等映射网络层,即数据在通过该层时输入和输出一样,这样结果再差也不会差过浅层网络。然而激活函数很难拟合y=x这个函数,所以研究人员想到了将单元的输入直接与单元输出加在一...原创 2020-01-09 15:53:50 · 2760 阅读 · 1 评论 -
Pytorch的学习——批标准化
批标准化为什么要批标准化?当神经网络深度很深的时候,在误差反向传递时,神经网络开始几层会学到一些东西,而到后面几层时很可能会出现神经网络没有东西可学的情况,这时候可以通过批标准化解决这个问题。列子这里小编通过一个列子来进一步了解批标准化import torchfrom torch import nnfrom torch.nn import initimport torch.utils...原创 2019-12-04 20:30:19 · 920 阅读 · 1 评论 -
Pytorch的学习——过拟合
过拟合过拟合是当数据量较小时或者输出结果过于依赖某些特定的神经元,训练神经网络训练会发生一种现象。出现这种现象的神经网络预测的结果并不具有普遍意义,其预测结果极不准确。解决方法1.增加数据量2.L1,L2,L3…正规化,即在计算误差值的时候加上要学习的参数值,当参数改变过大时,误差也会变大,通过这种惩罚机制来控制过拟合现象3.dropout正规化,在训练过程中通过随机屏蔽部分神经网络连接...原创 2019-12-04 16:08:27 · 758 阅读 · 0 评论 -
Pytorch的学习——GAN
GANGAN(生成对抗网络)可以这样理解,它接受一些信息然后生成一些有意义的东西。如果还是不够清楚那么可以通过这样的列子来理解:有个新手画家还有一个新手鉴赏家,新手画家画了一些画,然后让新手鉴赏家鉴赏,新手鉴赏家通过对比著名画家的画然后给新手画家建议,然后新手画家根据建议改进,再画一副画,然后循环反复,新手画家的画会渐渐向著名画家的画靠拢。例子这里小编通过一个列子来进一步了解GANimpo...原创 2019-12-04 14:55:54 · 246 阅读 · 0 评论 -
Pytorch的学习——DQN
DQNDQN是强化学习的一种强大的武器,其融合了神经网络和Q-learning的方法, 有一个记忆库用于学习经历。Q learning 是一种 off-policy 离线学习法, 它能学习当前经历着的, 也能学习过去经历过的, 甚至是学习别人的经历. 所以每次 DQN 更新的时候, 我们都可以随机抽取一些之前的经历进行学习. 随机抽取这种做法打乱了经历之间的相关性, 也使得神经网络更新更有效率...原创 2019-12-04 13:48:29 · 582 阅读 · 0 评论 -
Pytorch的学习——自编码
自编码自编码是一种神经网络形式即非监督学习,可以理解为通过将输入数据进行压缩训练,然后再通过另一个结构相同的神经网络解压,然后将解压后的结果与原数据进行比较计算误差再进行误差反向传递。例子这里小编还是以手写数字来作为列子import torchimport torch.nn as nnimport torch.utils.data as Dataimport torchvision...原创 2019-11-29 17:09:43 · 276 阅读 · 0 评论 -
Pytorch的学习——RNN
RNN在pytorch中RNN(循环神经网络)由 torch.nn中的RNN()函数进行循环训练,其参数有input_size,hidden_size, num_layers。input_size:输入的数据个数hidden_size:隐藏层的神经元个数num_layers:隐藏层的层数,数值越大RNN能力越强,相应的训练消耗时间越多分类问题这里通过手写数字的一个小例子来了解pytor...原创 2019-11-29 15:15:22 · 870 阅读 · 0 评论 -
Pytorch的学习——CNN
CNN在pytorch中CNN(卷积神经网络)由 torch.nn中的Conv1d()、Conv2d()、Conv3d()三个函数进行数据的一维、二维、三维卷积操作。主要参数有in_channels, out_channels,kernel_size。# in_channels:代表输入数据的个数# 比如[[1,1],[2,2],[3,3],[4,4],[5,5]]这可以当作一维数据也可以当...原创 2019-11-28 11:37:49 · 1349 阅读 · 0 评论 -
Pytorch的学习——基础
张量张量是现代机器学习的基础。它的核心是一个数据容器,多数情况下,它包含数字,有时候它也包含字符串,但这种情况比较少。因此把它想象成一个数字的容器,用来存放数据。激活函数主流的激活函数主要有下图4种,分别是relu、sigmoid、tanh、softplus,根据面对的问题不同往往需要选择不同的激活函数。代码import torchfrom torch.autograd import ...原创 2019-11-27 16:45:53 · 249 阅读 · 0 评论 -
Django REST framework simplejwt详解(支持Django>=2.0)
引言在使用Django REST framework想用JWT的人会发现django-rest-framework-jwt已经停止了更新版本,其对新版本的Django REST framework并不支持,所以小编在这推荐django-rest-framework-simplejwt。它继承了django-rest-framework-jwt的思想,应用比较相识。django-rest-fra...原创 2019-10-09 17:47:00 · 8333 阅读 · 2 评论 -
Django REST framework的APIView、GenericAPIView、GenericViewSet与router运用及理解
drf框架对View的封装继承通过APIView实现json数据视图显示views.pyfrom django.views.generic import RedirectViewfrom rest_framework.views import APIViewfrom .serializers import GoodsSerializerfrom .models import Goods...原创 2019-10-03 14:34:26 · 570 阅读 · 0 评论 -
Docker+Django+Monaco简单实现代码云编辑器
环境准备Docker Docker安装包可以去官网下载Docker Desktop这个版本,Docekr的学习可以通过Docker中文学习Docekr的相关知识,也可以通过Docker 教程 | 菜鸟教程进行简单的学习Monaco Monaco是微软从VS Code中衍生出来的一款web编辑器,主要提供了代码高亮、代码提示等功能,可以通过npm install monaco-editor ...原创 2019-09-27 15:13:09 · 1319 阅读 · 0 评论 -
Django 后台数据传到前台js符号编码问题
问题Django在将带有符号的数据传入js中时会出现一些编码问题,如小编在这传了list到前台中,可是是单引号的显示却是字符编码,导致js无法运行那么Django该如何解决呢?解决方法Django中有很多拦截器,在这里就要用到其中的safe拦截器,只要在html中出现问题的数据后面加上|safe就好了,如小编就是在上面有问题的地方加上了|safe问题完美解决...原创 2019-09-20 09:00:06 · 773 阅读 · 0 评论 -
建立Python虚拟环境
python虚拟环境–virtualenv与virtualenvwrappervirtualenv和 virtualenvwrapper都是一个创建隔绝的Python环境的工具。优点1.可以使用不同的环境,开发环境独立2.环境升级不会影响其他应用,不会对局的python产生影响3.防止出现包管理的混乱和环境混乱,因为python包管理是通过pip安装的,它将开发库默认安装在同一个目录下的...原创 2019-08-31 12:20:43 · 167 阅读 · 0 评论