自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 [学习笔记] 神经网络之三:BERT和相似度(1)

BERT本身提供了句子匹配的功能,它的做法是把相似度任务转化成二分类任务做的,匹配/不匹配。把两个句子先拼接成 "[CLS]" + seq1 + "[SEP]" + seq2 + "[SEP]",然后取得[CLS]对应的向量,并经过一个...

2020-03-30 22:35:03 477 6

原创 [学习笔记]神经网络之二:使用Bert进行二分类

本篇记录一下如何使用bert进行二分类。这里用到的库是pyotrch-pretrained-bert,原生的bert使用的是TensorFlow,这个则是pytorch版本。 本篇文章主要参考了基于BERT fine-tuning的中文标题分类实战的代码以及如何用 Python 和 BERT 做...

2020-03-23 13:40:24 901 2

原创 js jQuery小结

本帖总结一下js/jQuery在一些具体场景中使用时的应用。 1.选中table的某一列的值 这里以中国农业大学某一个页面为例子,页面缩略图如下: 假如这里我只需要获取到所有企业的名称,那么我首先需要定位到这个表格: $('table:eq(27)') 这个表格...

2020-03-21 12:36:06 41 0

原创 [学习笔记]神经网络之一:简单实现一个神经网络

这几天开始学习神经网络,本帖为我在读完《Python神经网络编程》后的一个总结,因为我是神经网络的初学者,当出现一些错误或者说法不当时,请多多指正。 本文的目的是使用三层神经网络(输入层、隐藏层和输出层,输入层一般只是负责输入)来实现对手写体数字的识别,这里分别采用《Python神经网络编程》中...

2020-03-15 12:33:42 87 0

原创 云服务器下docker部署scrapyd之二:使用Nginx对Scrapyd添加验证

前一篇帖子(云服务器下docker部署scrapyd)中介绍了如何把Scrapyd容器化,并部署在云服务器中。但是并没有添加用户验证,也就是说,如果该Scrapyd是可以任何人访问的,那么只要知道IP地址和端口,总会有人想拿它做坏事,比如我的服务器中就出现了以下的情况: 该图摘自我个人的red...

2020-02-27 09:34:36 87 0

原创 [补充] 云服务器下docker部署scrapyd 添加日志解析和supervisor

之前的一篇帖子里曾经在Ubuntu云服务器上部署了Scrapyd容器,帖子如下:云服务器下docker部署scrapyd 目前需要对scrapyd添加了日志解析,该库的名称为logparser,它被用作在scrapyweb中解析scrapyd的日志。这里不介绍scrapyweb,感兴趣的可以去g...

2020-02-22 13:15:01 109 0

原创 阿里云服务器下使用docker部署jupyter

最近计划了解faiss,但是faiss无法在windows下安装,因此打算把faiss部署到服务器上进行一些简单的测试,然后学长就推荐了一个交互式笔记本jupyter。 这里主要记录一下如何在镜像里部署jupyter。 不使用Docker直接部署 使用conda安装jupyter con...

2020-01-23 11:47:36 126 0

原创 python下对文档(*.docx)和表格(*.xlsx)的简单操作

1. 根据模板批量生成文档 想要运用python来编辑word是有些难度的,主要是因为文档涉及到的因素比较多,仅仅是字体就有颜色、大小、加粗等等属性,这也就造成了使用python“无中生有”一个文档的困难性。 这里推荐一个使用模板批量生成文档的包:mailmerge。 1.1 制定模板文件d...

2019-11-06 09:39:02 576 0

原创 SDL游戏开发之七-虚拟摇杆

当下的智能机除了音量键、Home键外,几乎没有多余的按键,因而有一部分游戏提供了虚拟摇杆。 SDL2.x并没有提供虚拟摇杆相关的代码,不过实现起来并不算困难;虚拟摇杆包括绘图和事件处理:前者提供视觉效果,后者则捕获事件并作出响应。 示例结果如下: 图1-虚拟摇杆演示程序 本示例中大约有四...

2019-10-17 21:02:39 216 0

原创 无监督学习 k-means算法

一、无监督学习 无监督学习是机器学习算法中的一种。监督学习的目的主要是对数据进行分类和回归预测,它主要是通过已知推测未知,大部分监督学习算法有一个训练模型的过程;相对于监督学习,无监督学习则是主要着重于数据的分布特点,与有监督学习不同,无监督学习并没有训练的过程。 二、 聚类 针对给定的样本...

2019-10-09 19:32:08 143 0

原创 SDL游戏开发之六-简单的SDL程序

1.最简单的SDL程序 一般的游戏在运行过程中的大部分操作都是在一个大循环里,在这个循环里进行着事件监听、绘制以及逻辑处理等。而像网络通信或者是文件读取等这些比较耗时或者堵塞的操作一般会放到子线程里面。流程图如下: 图1-游戏流程图 先创建窗口和渲染器;如果创建成功,则进入大循环里;否则则...

2019-10-05 07:49:39 352 0

原创 SDL游戏开发之五-解析并使用GIF

在游戏开发中,使用的图片一般情况下的格式为PNG,在我看来PNG有着以下几个好处: 不错的压缩比 alpha通道(支持透明) 无损压缩 以上的几个特性使得PNG在游戏开发中大放异彩。另外,主流就是使用PNG+TexturePacker,把碎图整合成一张大的图片(一般是POT Power Of...

2019-10-02 15:22:20 187 0

原创 最长公共子序列

1.定义 给定一个序列,在删去若干个元素后得到的序列即为子序列。 图1 子序列 如图1所示,序列{A, B, C, B, D, A, B}的其中一个子序列就是{B, C, B, A}。 图2 公共子序列如图2,序列{A, B, C, B, D, A, B}和序列{B, D, C, A, ...

2019-09-11 09:39:33 31 0

原创 矩阵连乘

1.两个矩阵乘积所需要的计算量 首先需要考虑计算两个矩阵的乘积所需要的计算量。 矩阵A和矩阵B可乘的条件是A的列数等于B的行数。如果A是一个p*q矩阵,B是一个q*r矩阵,那么AB的乘积C则是一个p*r矩阵。 大致代码如下: #include <iostream> usin...

2019-08-13 21:31:15 370 0

原创 求第k小元素

题目: 给定线性序集中n个元素和一个整数k,其中1<=k<=n,要求找出这n个元素中第k小的元素。 如果将这n个元素线性序排列时,如果不存在重复的数或者求第k个元素的时候,那么第k个位置即为要找的元素。 当k = 1时,要找的就是最小值;而当k = n时,则要找的则是最大值。...

2019-08-09 20:51:21 478 0

原创 排序算法

1.插入排序 插入排序是比较简单粗暴的排序算法之一,它的思路大致如下: 把待排序数组分成两部分,长度为1和长度为n-1的子数组,(长度为1的子数组此时已经是排序好的) 从第二个数组中按序拿出一个元素,并插入到第一个子数组的合适位置,使得第一个子数组依然是排好序的 重复步骤2,直至排序完成。...

2019-08-08 20:24:03 73 0

原创 分治法-快速排序

1.快速排序 快速排序是冒泡排序的一种改进,它平均的时间复杂度为O(nlng)。 快速排序的思路如下:对于输入的数组a[p: r] 分解:以a[p]作为基准值,将数组分为三段 a[p:q-1] a[q]和a[q+1: r],并且满足a[p: q-1]的值小于等于a[q],而a[q+1:r]的...

2019-08-07 21:40:16 74 0

原创 分治法-合并排序

1.合并排序 排序算法是对一组数进行顺序排序或者逆序排序,而合并排序就是排序算法的一种。合并排序用到了分治策略实现对元素进行排序。 合并排序的基本思想:把待排序的n个元素分解成n组,也就是每组一个元素;之后对分好的组进行两两合并(无配对的则不操作),以此类推。 以序列{8, 3, 2, 6,...

2019-08-07 20:13:02 836 2

原创 分治法

1.分治法 分治法的基本思想就是将一个规模为n的问题分解成k个规模较小的子问题,而、这些子问题相互独立且与原问题相同;子问题的解合并后可以得到原问题的解。它的一般的算法设计模式如下: divide-and-conquer(P) { if (|P| <= n0) adhoc(P)...

2019-08-03 09:32:04 59 0

原创 LeetCode题目-合并K个排序链表

合并K个排序链表是我在刷LeetCode的时候遇到的题目,描述大致如下: 合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3...

2019-08-01 21:51:48 47 3

原创 docker部署flask项目2 Docker Compose的简单使用

上一节中,在写好了Dockerfile之后,我们使用了两个命令:即docker build和docker run来构建镜像和运行基于该镜像的容器,这些命令在开发过程中是需要经常需要的,而Docker Compose就可以定义上面的操作;当然,Docker Compose的功能不止如此,它可以用YA...

2019-07-25 15:08:08 239 0

原创 docker部署flask项目1 使用gunicorn替代测试服务器

在程序开发过程中,往往会遇到环境配置和版本问题,而为了避免环境配置问题,对于python来说一般都会使用到虚拟环境,比如常用的virtualenv、pipenv等。当把项目部署到服务器上的时候,像virtualenv来说则不太方便了,这个时候就推荐使用Docker。 Docker可以提供操作系统...

2019-07-24 16:18:04 145 0

原创 pymongo的简单使用

MongoDB是典型的非关系型数据库,它的存储形式是BSON(Binary JSON),是类似于JSON格式的二进制存储。这里旨在介绍一些python3下pymongo库的一些简单用法。 1.连接MongoDB python下连接MongoDB需要用到pymongo库里面的MongoClien...

2019-07-15 20:24:54 74 0

原创 FTP服务器的简单部署

本文基于阿里云服务器。 一.FTP FTP的全称为File Transfer Protocol,又称之为文件传输协议。FTP是比较古老的一个传输协议之一,主要用来在服务器和客户端之间进行文件的传输,FTP使用的是明码传输,所以现在一般建议使用安全但功能较少的vsFTPd软件。 FTP服务器除...

2019-07-03 20:36:53 84 0

原创 云服务器下docker部署scrapyd之一:Scrapyd的容器化

一.部署前的准备 在开始部署之前,先梳理一下几个关键词: 1.Scrapy Scrapy是一个基于Twisted的异步处理框架,是纯Python实现的爬虫框架。Scrapy由Spider、Middleware、Downloader、Pipeline等组成,各个模块之间耦合度低,扩展性强。Sc...

2019-05-30 16:15:06 614 0

原创 云服务器部署flask+nameko的安装

由于flask本身带有一个测试服务器,所以如果不考虑性能和压力的话,是可以不用使用其他服务器的。以下部署均在服务器上进行。 一.使用测试服务器 以官网所给的例子为例: from flask import Flask app = Flask(__name__) @app.route(�...

2019-05-30 10:51:51 392 0

原创 简单爬取github下载链接2:按照文件夹层级关系下载文件

上一篇的简单爬取github下载链接并没有考虑到遇到文件夹的情况,这次就针对文件夹的情况来对之前的代码进行一次更新。 一般情况下,要下载各个文件并不算困难,只需要判断一下这个是文件还是文件夹;而加入了文件夹后就牵涉到了嵌套的关系,所以会稍微有些麻烦。 一.日志 log是我根据python提供...

2019-05-29 17:15:02 866 0

原创 云服务器下docker部署mongodb

mongodb作为非关系型数据库。本次配置是在阿里云服务器上配置。 1.下载镜像 首先可以通过以下指令获取有哪些镜像: docker search mongo 显示列表如下: 第一个为root仓库,也就是官方提供的mongo镜像,接着拉取这个镜像即可。 docker pull ...

2019-05-28 19:35:50 327 0

原创 python3 开发之一:classmethod和staticmethod

1.staticmethod 对于一般的计算机语言,都会提供静态方法,这个方法可以认为是类的方法。即可以直接 类.方法(),也可以通过类的实例,也就是对象.方法()进行调用。就静态方法这方面来说,python语言和其他提供了静态方法的语言来说并没什么区别。 比如在java中,main方法(主函...

2019-05-27 21:56:48 548 0

原创 python实用小工具之一:BMFont位图导出脚本

在游戏开发中,尤其是对于移动端的游戏开发来说,直接使用TTF来进行渲染是非常消耗资源的;而且一般的游戏用到的字的个数都是有限的。针对以上几个弊端,就有人按照着活字印刷术的原理来设计了一个在游戏中常用的位图导出工具,比如windows下的bmfont、java写的hiero等等,用到文字比较多的一般...

2019-05-25 21:36:11 231 0

原创 python3 常见问题以及解决办法

1.使用python3的csv模块写入文件时多一个空行 这个问题主要出现在open函数中,应该为如下: fp = open(output, "w", encoding="utf-8", newline="") writer = cs...

2019-05-21 20:23:23 174 0

原创 flask项目部署到阿里云ubuntu服务器 uwsgi+nginx

1.为什么需要服务器? Web服务器都会使用一种叫做Web服务网关接口(Web Server Gateway Interface, WSGI)的协议,这是一种标准化的设计,它让Python应用(不局限于python)跟Web服务器能够轻松地通信。 在用flask开发web项目的时候,程序员一般...

2019-05-09 16:30:04 698 0

原创 python3 爬取网页报错:'gb2312' codec can't decode byte 0xb5 in position 154969: illegal multibyte sequence

前几天需要在网页上爬取信息,就使用到了requests库爬取网页,其中遇到的比较大的坑则是中文编码。 python版本:3.72 操作系统:windows10 首先需要爬取网页信息。 def parse_url(url, callback): """...

2019-05-07 14:09:05 570 0

原创 visual studio 2017 常见问题

前些天转战ubuntu平台,为了方便代码的管理而把代码托管到了github上。然后今天在windows平台下的时候就出现了各种问题。 问题1:操作系统差异 windows下的换行符是\r\n,而linux下的换行符是\n;另外就是一般情况下,linux的源文件是utf-8(无BOM),而win...

2019-04-27 15:07:40 245 0

原创 SDL游戏开发之四-卡马克卷轴

上一篇实现了瓦片地图的绘制,但是单纯地使用上面的代码还是有些问题的,下面就来讨论一下单纯使用瓦片地图的局限性。 假设游戏的分辨率为960*720,瓦片地图的大小也是960*720,瓦片大小为32,那么960/32 = 30, 720 / 32 = 22,即共有瓦片30*22=660个。一般的游戏...

2019-04-26 20:23:57 826 0

原创 SDL游戏开发之三-瓦片地图

一.瓦片地图 1)瓦片地图简介 瓦片地图(Tiled Map),又称为瓷砖地图,是在游戏开发中经常使用到的技术,它是由少量的尺寸相同的、小的瓦片图片拼接而成的很大的地图。相对于使用一张张图片来绘制地图而言,瓦片地图不仅大大地节省了内容,而且增加了图片的重用性和绘制性能。 使用一般的背景图会面...

2019-04-26 15:48:52 630 0

原创 SDL游戏开发之二-配置开发环境

一般情况下,在任何一个计算机语言中要使用第三方功能时,都需要配置环境,SDL同样如此。 在我一开始学习的时候对环境配置是深恶痛绝的,稍微出错都会影响学习积极性。但不得不承认,环境的配置一般都是第一件要做的事。 一.为什么要进行环境配置? 以c/c++为例,所谓的环境配置就是配置头文件和库文件...

2019-02-03 22:32:55 9246 1

原创 SDL游戏开发之一-SDL的简介

本教程为一个长系列,旨在于从零开始边学习SDL边开发游戏。 一.什么是SDL? SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(...

2019-02-02 10:34:16 10427 0

原创 角色寻路之A*算法

A*算法是在寻路中使用的比较多的,一般在角色扮演游戏中,会用到A*算法,比如: (上面的游戏画面为我以前做的一个RPG游戏的画面,其寻路正是使用了A星算法。) 1.什么是A星算法 A星算法作为启发式搜索算法的一种,其相对于盲目型搜索算法(如广度优先搜索算法和深度优先搜索算法)和半启发式搜...

2019-01-04 20:25:28 298 1

原创 SDL农场游戏开发 11.总结

1.总结 到目前为止,整个游戏的开发已经完成了,整个开发过程跨时比较长,实现的基本上是比较完整的游戏了,当然了,单纯的农场类游戏目前可能有些无趣,所以下面我提供一个思路,以便于将不同游戏结合起来。 2.把游戏编码为模块的一个思路 一个游戏内有多种经典元素已经是司空见惯的,像我个人比较喜欢的符...

2019-01-03 14:41:21 503 7

提示
确定要删除当前文章?
取消 删除