自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

翻译 【Tkinter】Python标准库中的GUI框架入门——几何管理器控制布局

在上一篇文章中,我们已经知道了如何创建控件,再将这些控件进行合适的布局与排版,就创建好了一个完整的GUI了。1 使用几何管理器控制布局几何管理器,英文是Geometry Managers,是用于控制控件位置的一系列方法。在前面的例子中,其实已经使用了一个:.pack(),但是并没有解释它的意思以及更加详细的用法。此外,几何管理器还有两个,分别是.palce()和.grid()。首先我们知道,一个GUI由一个window构成(或几个windows构成,例如弹窗),每个...

2020-07-08 14:23:38 66

翻译 【Tkinter】Python标准库中的GUI框架入门——window和widget

图形用户界面(Graphical User Interface,简称GUI),是指采用图形方式显示计算机的操作界面。相较于命令行,这种方式上手难度低,更加容易为普通用户所接受。本文介绍了python标准库中的GUI框架——Tkinter

2020-05-05 16:16:24 257

原创 【docker】容器内部启动一个http服务

假如已经按照上一篇的流程创建了一个容器,并且在容器内安装了python环境以及flask相关的包,接下来启动一个服务,供容器外调用。1. A quick start首先要使用docker start命令启动一个已经停止的容器:docker start -i c2f30指定-i参数,则可以进入容器内部。接下来,创建一个python脚本:# test.pyfrom flask impo...

2020-03-27 22:00:52 462

原创 【docker】拉取一个基础镜像然后制作自己的镜像并复用

今天下午,我再一次地被部署一个模型时因为没有网络而导致的复杂无比的环境依赖而折腾的手忙脚乱。因此,我觉得必须要把docker的基本操作路线打通一下了。1. 问题说明我用python写了一个简单的算法服务,要部署到linux操作系统下,需要用到很多依赖包。为了简便起见,可以将这个算法服务打包成docker镜像,然后发布。这样只需要配置好了docker环境,做好端口映射,基于该镜像启动容器即可调用...

2020-03-23 22:22:46 839

原创 【问题整理】python在多进程间同步变量时遇到的问题

多进程编程是提升计算效率的一种重要方法,关于其介绍可以参见参考内容1。python3提供了multiprocessing标准库来支持跨平台的多进程编程,非常方便。最近在利用该标准库进行编程,发现在进程间实现变量共享(通信)时,有一些细节问题跟常规理解不太一致,如果不清楚,会在使用时带来不小的麻烦。1.问题提出假设有一个长度为L,每个位置的初始值为0的向量;再给定一个函数f,该函数的作用是将任意...

2020-03-06 21:30:58 146

原创 python中的`global`关键字用法

python中对变量作用域的设置相对来说对用户是友好的,在理解上也符合人类思考习惯。但是如果在写一些复杂的程序时,不可避免的要更涉及到作用域的改变。要实现这一点,一个非常重要的关键字:global就派上用场了。下面总结一下global关键字的用法。函数外定义,函数内引用首先来看最简单的一种例子:var = 1def func(): print(var)func()# 1执行上面...

2020-02-21 15:05:59 81

原创 Use Whoosh——Whoosh入门

生活处处皆搜索,本系列文章是笔者在接触搜索技术时的学习总结,以Whoosh模块为切入点,旨在通过对该模块的学习,对搜索技术有一个大概的了解,对该模块的开发细节进行学习。

2020-01-01 20:03:16 133 2

原创 快速配置python的项目环境

引例在我们开发python项目的时候,常常需要在本机开发完之后部署到一个全新的环境中去。在这个过程中,一个重要的问题就是如何快速的将开发环境中依赖的包也部署到新环境中,特别是当新环境无法联网的时候。其实利用python的pip模块就可以做到这一点,其官方的使用教程在这,本文稍作搬运。pip是什么pip实际上是一个python包的管理工具,安装完成之后,就可以在命令行调用pip的相关命令来管理...

2019-11-24 11:56:50 72

原创 知识图谱学习系列之二:命名实体识别1(技术及代码)

命名实体识别,Named Entity Recognition,简称NER。指的是构建合适的模型,从给定的数据(常常是文本)中得到所需实体的过程。什么是命名实体命名实体指的就是所有以名称来作为标识的实体。在有的资料中,将命名实体分为三大类(实体类、时间类和数字类)七小类(人名、地名、机构名、时间、日期、货币和百分比)...

2019-11-24 10:14:51 3859 4

原创 知识图谱学习系列之二:命名实体识别2(基于BiLSTM及CRF)

之前的一篇文章写了基于CRF的命名实体识别模型,并上传了代码,现在添加BiLSTM部分。关于BiLSTM的介绍,可以看我的另一篇文章,这里主要是训练过程以及其中的一些问题。为什么采用BiLSTM在利用CRF搭建模型的时候已经指出,其一大不足之处就是,需要人工手动设置特征模板,据此算法才可以提取出特征。于是,特征模板设置的好坏就会直接影响到实体识别的效果。为了解决这个问题,人们提出了利用Bi...

2019-11-24 10:13:38 306

原创 python最简单的自定义异常方法

异常是指程序运行时遇到了非致命错误。python中有许多预定义的异常类型,不过如果你想定义自己的异常,也是完全可以的。如下代码自定义了一个最简单的异常,并使程序抛出了该异常:class MyException(Exception): passcondition = Falseif not condition: raise MyException('条件不满足,抛出自定义异常!')...

2019-09-07 11:10:44 409

原创 python如何在请求java服务时传入“null”参数

我们知道,python的requests模块提供了一种简单的方式供人们以不同的方法请求一个服务。例如,我们有一个java提供的服务,接口地址为:http://127.0.0.1:5000/virtual/path,方法是post,那么,利用python请求该服务就可以简单的写成:import requestsurl = 'http://127.0.0.1:5000/virtual/path...

2019-08-15 15:16:43 564

原创 基于socket的python分布式运算中多服务器间的通信问题

本文从参考了网络上的许多内容,主要为分布式进程及其的评论内容。所谓分布式运算,既可以指在同一台机器上利用多进程(线程)进行运算,又可以指将计算任务进行分解,利用多台机器进行运算。本文中的分布式单指最后一种。python的标准库multiprocessing中存在一个managers的子模块,该模块支持将多进程分布到多台机器上。选择一个进程来调度任务,其他进程进行计算,从而实现分布式运算。而...

2019-06-17 15:27:53 562

原创 版本控制神器之Git学习指南

网上有很多介绍Git的使用方法的,良莠不齐,初学者很难分辨。我找到了一个学习网站,包括了多种语言的教程,还提供下载版本,非常赞,几乎可以说是零基础入门了!推荐给大家:https://git-scm.com/book/zh/v2感谢社区的倾情奉献!!!...

2019-05-16 20:02:37 86

原创 在无网centos中简易部署python环境

1 准备阶段为了模拟真实的环境,我用docker从官方仓库pull下来了一个centos系统,然后安装了python3.6.0。1.1 创建容器利用docker images查看所有的镜像;根据镜像的名字,如centos,创建容器,注意容器要有交互的shell,因此命令为:docker run -it centos '/bin/bash';利用docker ps -a查看所有的容器,利...

2019-05-02 16:35:42 337

原创 windows7使用docker记录——传递本机文件到某个容器

windows7使用docker的话,推荐安装Docker Toolbox。安装完成之后桌面会出现“Oracle VM VirtualBox”,“Kitematic(Alpha)”和“Docker Quickstart”三个图标。第一步,配置共享文件夹双击Oracle VM VirtualBox图标后,点击设置按钮,左侧选择共享文件夹,然后在“固定分配”一栏添加一个本地文件夹的位置:保存后...

2019-04-30 15:02:14 571

原创 python中自定义module的方法及注意事项

https://www.cnblogs.com/kex1n/p/5977051.html在编写python程序的过程中,不可避免的需要自定义一些python的类和函数。有时候定义的函数太多,就要根据用途放到不同的module(模块)中去,项目更大时,需要将这些module再分类,放到不同的package(包)中,以方便管理。可以这样理解,module就是*.py文件,里面定义了一些类,函数及变...

2019-04-23 17:30:39 4438

原创 维特比算法整理(参考《数学之美》)

解决问题:篱笆网络中的最短路径XijX_{ij}Xij​表示第iii个时刻的第jjj个可能值,其中,1≤i≤d1\leq i\leq d1≤i≤d;每个时刻可能的取值个数分别为n1,n2,…,ndn_1,n_2,…,n_dn1​,n2​,…,nd​;算法目标为从S开始,找到一条路径到E,使得路径上所有节点值加起来最小。算法基础如果最短路径P经过点XijX_{ij}Xij​,那么路径P的从...

2019-01-08 17:51:19 366

原创 在Windows下离线安装pyhanlp

HanLP是一款优秀的中文自然语言处理工具,可以实现包括分词、词性标注、实体识别在内容诸多功能,详情见其项目主页。另外,该工具包还提供了python3的接口,在线安装很方便,但有时需要部署在内网机等没有网络环境的机器上,比较繁琐,整理步骤如下:安装jpype1,这是pyhanlp的依赖包,可以下载编译好的.whl文件,地址在这,选择对应自己python版本和操作系统版本的后,用pip inst...

2018-12-20 11:40:07 1566

原创 布隆过滤器

我们要去判断一堆元素里面是不是存在某一个特定的元素,最直观的想法就是,遍历给定的元素集合,然后判断是否存在某个(些)元素与要检查的元素相等。这在数据量相对很小的时候没有问题,而随着数据量的增大,再用这种方式去存储该集合就会对内存提出较高的要求。...

2018-11-17 22:05:34 110

原创 ORACLE/MYSQL数据库的常用SQL命令

ORACLE数据库以下均是在创建一个成功的连接后的操作。1. 返回某个数据库(模式)中所有表的基本信息:select * from all_tables where owner='yourschema'-- 将yourschema换成指定的数据库名称select table_name from all_tables where owner='yourschema'--返回指定数据...

2018-11-13 11:02:02 1403 1

原创 pandas.DataFrame写入数据库的操作

以mysql数据库为例,需要导入包pymysql。假设我们已经创建了一个df,现在将其导入数据库中,写法如下:import pymysqlimport pandas as pdfrom sqlalchemy import create_engine#建立连接,username替换为用户名,passwd替换为密码,test替换为数据库名conn = create_engine('my...

2018-11-01 09:13:31 5845 5

原创 Linux常用命令

tail -f run.log,用于动态查看run.log的写入内容touch new.txt,创建一个新的文件

2018-10-24 11:40:12 99

原创 Linux命令行样式的设置

VM虚拟机中安装的CentOS 7系统下的操作1.命令行样式的设置默认的命令行及命令的执行结果,都是黑底白字或者白底黑字,当输出的结果很多时,要在多行的结果中找到命令的起始位置,是非常麻烦的。因此,我在装好linux系统后,第一件事就是更改命令行的格式。在输入linux命令的时候,分为普通用户和超级用户两种,下面介绍如何更改两种用户下的命令行显示方式超级用户下:进入/home/use...

2018-10-22 17:09:49 519

原创 双向长短记忆网络(BiLSTM)

本文着眼于内部计算过程而不是数据原理,分别总结了RNN,BiRNN,LSTM以及BiLSTM等神经网络模型内部结构。

2018-10-13 17:43:23 15543 7

原创 循环中的pass、continue以及break

说明pass、continue以及break常用于控制循环的运行。它们的功能如下:pass:即“通过”的意思,程序运行至pass处会继续运行后续的部分continue:即“继续”的意思,程序运行至continue处将不再运行其下方的同级代码,而是运行continue所在的最底层循环体的下一次循环break:即“打断”的意思,程序运行至break处将不再运行其所在的最底层的循环体的后面的所...

2018-10-08 12:52:00 677

翻译 条件随机场简介

一篇英文博客的翻译版本,详情请戳原文。假如你可以得到Justin Bieber日常一天的连续快照,然后你想根据Justin Bieber正在进行的活动(吃饭、睡觉、开车等)对这些照片进行分类,那么你该怎么做呢?一种方法就是,忽略照片之间的关系,建立并训练一个接收单一照片的分类器。比如说,在对一个月的标记好的连续快照进行学习后,给定一张较黑暗的、在早晨6点拍摄的照片,那么分类器认为这...

2018-09-07 18:31:37 690

原创 知识图谱学习系列之一:知识图谱综述

知识图谱技术最早为谷歌所提出,随后在其搜索引擎中上线一系列产品。即使假设是谷歌首次提出这一概念,至今也有很长时间了,网上已经有了很多介绍知识图谱相关内容的文章,笔者出于对自身学习过程的梳理和对自身工作的反思总结,写出这一系列笔记,如能帮助来者,实在不胜感激。根据个人学习习惯,只有从宏观角度把握问题的全局,才能在解决细节问题时不至于走偏路。因此,本篇主要从宏观层面介绍知识图谱的产生、发展...

2018-08-05 16:18:33 3448

原创 Python中类和实例学习笔记

Python中类和实例学习笔记 以创建一个命名实体识别(Named Entity Recognition,NER)模型为例,学习Python中类和实例的相关内容。类(Class)和实例(Instance)类和实例是面向对象编程最重要的概念之二,类是抽象的模板,实例是类的具体表现。下面用具体的例子分析说明这一点。建模流程及本文引言在Python中,以sklearn为...

2018-07-30 20:32:54 330

原创 统计学中的Bootstrap方法介绍及其应用

最近的论文写作中,需要用到Bootstrap方法,即所谓的“自举法”、“靴带法”。Bootstrap在英语中作为一个名词的话,其的意思是“拔靴带”,也就是通过自身的 力量,自己把自己抬起来。注意这个限定——“通过自身的力量”——这是Bootstrap方法的核心所在。本篇博文旨在根据自身的实际工作,对Bootstrap方法进行带有实例的说明,有些冗长,但主要是为了总结一下最近的工作,如果可以对别人的

2018-01-25 15:34:42 30350 6

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