12 2019 档案

摘要:紧接上文 在上文 "Python多进程multiprocessing(一)" 中我们介绍了多进程multiprocessing的部分基础操作,在本文中,我们将继续介绍关于多进程的一些知识,比如进程池Pool这个有用的东东。马上开始吧! 使用实例 实例1 运行结果: 解释一下: 1. 这个例子演示了进 阅读全文
posted @ 2019-12-31 16:58 MrDoghead 阅读(237) 评论(0) 推荐(0)
摘要:介绍 上次介绍了如何在Python中使用多线程threading的内容,这一次我们来了解一下多进程multiprocessing的使用。网上有人把进程比作一个个车间,可以真正意义上实现同时处理多个任务,也就是多核运算(没错,这就要用到我们cpu的多核了)。在实际工作中,一般cpu 密集运算才用多进程 阅读全文
posted @ 2019-12-31 15:39 MrDoghead 阅读(248) 评论(0) 推荐(0)
摘要:介绍 在Python中,使用多线程multi threading可以『同时』执行多个任务,比如你需要一个线程来复制读取信息,另一个线程来解析。为什么这里的同时要加引号呢,这是由于Python中GIL,也就是全局锁,看似同时执行多个任务,实际上是分布执行的,只不过各自完成不同的任务会提高工作效率。如果 阅读全文
posted @ 2019-12-30 19:46 MrDoghead 阅读(255) 评论(0) 推荐(0)
摘要:介绍 有时候我们想要查看某个数据的内容,发现中文无法正确显示,这个时候就需要转换一下编码,Linux提供了一个很方便的工具iconv可以帮助实现。 用法 看一下帮助文档,很快可以理解,就是指定一下两个参数 f, t 下面举个例子,我们要显示中文怎么办, 阅读全文
posted @ 2019-12-30 14:49 MrDoghead 阅读(597) 评论(0) 推荐(0)
摘要:介绍 在算法实际工作中,我们的输入数据往往是不确定的,而且是不管更新的,比如今天你的输入是某个平台的数据,明天可能是另一个平台得到的数据,或者说你需要一个脚本来解决数据更新的问题又不需要重新改写脚本,那么把输入数据定义在脚本程序外会是一个好的选择,那就是stdin(标准输入)。 用法实例 使用std 阅读全文
posted @ 2019-12-30 14:37 MrDoghead 阅读(1424) 评论(0) 推荐(0)
摘要:介绍 namedtuple能够用来创建类似于元祖的数据类型,除了能够用索引来访问数据,能够迭代,更能够方便的通过属性名来访问数据。 使用 小结 相比与元组tuple和字典dictionary,namedtuple更有综合性,而且直观,方便。 阅读全文
posted @ 2019-12-27 13:29 MrDoghead 阅读(223) 评论(0) 推荐(0)
摘要:HDF5文件 什么是HDF5文件呢?先引用一波维基百科的介绍,『层级数据格式(Hierarchical Data Format:HDF)是设计用来存储和组织大量数据的一组文件格式(HDF4,HDF5)。它最初开发于美国国家超级计算应用中心,现在由非营利社团HDF Group支持,其任务是确保HDF5 阅读全文
posted @ 2019-12-27 13:17 MrDoghead 阅读(2765) 评论(0) 推荐(0)
摘要:前言 狗头一出(开)生(始)就是学的Python3,但是公司一些已有的代码是Python2写的,为了图个方便,我也就开始使用起了Python2。慢慢的发现,其实Python2中有许多简便的地方,比如令人上瘾的print不用加括号:),当然也有许多坑。本文的目的就是记录我作为一个Python3用户在P 阅读全文
posted @ 2019-12-27 11:24 MrDoghead 阅读(325) 评论(0) 推荐(0)
摘要:压缩成gz 具体参数可使用help查看 解压缩gz 具体也是可以用help查看 阅读全文
posted @ 2019-12-17 11:17 MrDoghead 阅读(56809) 评论(0) 推荐(0)
摘要:前言 今天补充一个知识点,正则表达(regular expression)。首先,什么是正则表达呢?正则表达可以理解为是一种pattern,用来匹配字符串。正则表达在许多场景下都有应用,比如爬虫、文本查到等,使用起来也非常灵活,入门很简单,但是要用得好却很难。在许多文本编辑器中都可以使用正则表达,而 阅读全文
posted @ 2019-12-17 01:20 MrDoghead 阅读(441) 评论(0) 推荐(0)
摘要:前言 食用本文前,需要有对BERT模型基础知识的掌握,因为ERNIE就是在BERT的基础上做的提升与改进。如果你对BERT毫无了解,可以参考我之前的博文 "《大名鼎鼎的BERT模型》" 。废话不多说,让我们开始吧! 介绍 BERT模型提出后,可谓是横扫了许多NLP数据榜单,大家也开始纷纷学习这个新型 阅读全文
posted @ 2019-12-15 21:30 MrDoghead 阅读(1411) 评论(0) 推荐(0)
摘要:前言 前几天写了一篇关于BERT的博文,里面用到了Transformer的编码器,但是没有具体讲它的原理,所以在这篇文章里做一个补充。本文只阐述编码器encoder的部分,只做一个重点部分流程的概括,具体的最好还是看看原论文,然后关于解码器的部分之后有机会再讲。 encoder原理 我们主要根据下面 阅读全文
posted @ 2019-12-15 02:21 MrDoghead 阅读(5006) 评论(0) 推荐(0)
摘要:今天补充几个linux使用过程中几个好用的配件和设置,注意本文操作全部在linux中进行。 iTerm 如果你使用的也是macOS系统,那么在使用终端terminal的时候应该会感觉便利度不够高,这里就推荐一个更加实用功能也更丰富的软件,就是iTerm。下载链接我放在这里了 "iterm" ,点进去 阅读全文
posted @ 2019-12-14 23:14 MrDoghead 阅读(207) 评论(0) 推荐(0)
摘要:根据论文,思路梳理 阅读全文
posted @ 2019-12-13 00:13 MrDoghead 阅读(1169) 评论(0) 推荐(0)
摘要:介绍 partial其实是Python模块functools中定义的一个函数,当我们需要经常调用某个函数时,但是其中某些参数是已知的固定值,这样可能会让代码显得冗余,这个时候就可以考虑使用partial函数。 使用 假设我们要做二进制转十进制 如果我们要重复使用这个函数,需要重复写的东西就会很多 但 阅读全文
posted @ 2019-12-10 23:44 MrDoghead 阅读(669) 评论(0) 推荐(0)
摘要:介绍 我们有时候会发现代码中return的地方,有用yield的,难道他们一样吗?其实,yield与return看起来很像,但实际上完全不同。 使用 你绕出来了吗? 阅读全文
posted @ 2019-12-10 14:36 MrDoghead 阅读(525) 评论(0) 推荐(0)
摘要:介绍 glob模块可以按指定路径得到所有符合条件的文件的完整路径。 使用 如果想得到一个generator,以减少内存,可以使用 iglob()函数 阅读全文
posted @ 2019-12-10 13:49 MrDoghead 阅读(232) 评论(0) 推荐(0)
摘要:介绍 今天介绍一种数据格式,json。Json是JavaScript Object Notation的缩写,区别于txt、csv,json编码格式更加灵活,在工作也会经常遇到。在Python中要读写json是十分方便的,只需要调用json模块。 使用 直接导入模块 两个读写数据的函数: json.d 阅读全文
posted @ 2019-12-10 13:23 MrDoghead 阅读(172) 评论(0) 推荐(0)
摘要:背景 前几天看了些python的代码,发现有些函数的参数前带有(\ )号,有的甚至有两个(\ )号,它们代表什么意思的? 解释 查阅资料后发现,参数前面加上 号 ,意味着参数的个数不止一个,另外带一个星号(\ )参数的函数传入的参数存储为一个元组(tuple),带两个(\ )号则是表示字典(dict 阅读全文
posted @ 2019-12-10 00:04 MrDoghead 阅读(10449) 评论(0) 推荐(2)
摘要:介绍 今天介绍一个很强大的模块,而且是python自带的,那就是itertools迭代器模块。 使用 使用起来很简单,先导入模块 下面,我们通过一些例子边学边练 三个无限迭代器 先告诉大家 control + C 可以强制停止程序哦 1.count() 2.cycle() 3.repeat() 想要 阅读全文
posted @ 2019-12-09 23:49 MrDoghead 阅读(309) 评论(0) 推荐(0)
摘要:介绍 上一篇中我们介绍了如果拆分文件,这一篇就通过几个例子来介绍一下如果合并文件。超级简单方便。 实例 另外,补充一个相关知识 阅读全文
posted @ 2019-12-09 13:26 MrDoghead 阅读(16327) 评论(0) 推荐(1)
摘要:介绍 Linux 中split命令可以将一个大文件拆分成几个小文件。 使用 split [ help][ version][ ][ b ][ C ][ l ][要切割的文件][输出文件前缀] 注意,在默认情况下将按照每1000行切割成一个小文件。 实例 阅读全文
posted @ 2019-12-09 13:14 MrDoghead 阅读(3728) 评论(1) 推荐(0)
摘要:介绍 argparse是python3标准库里用来处理命令行参数的模块 使用三步走: 1. 创建 ArgumentParser() 对象 2. 调用 add_argument() 方法添加参数 3. 使用 parse_args() 解析添加的参数 实例 我们先来创建一个python文件 然后开始在输 阅读全文
posted @ 2019-12-08 22:05 MrDoghead 阅读(256) 评论(0) 推荐(0)
摘要:介绍 enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。 Python 2.3. 以上版本可用,2.6 添加 start 参数。 例子 阅读全文
posted @ 2019-12-08 00:43 MrDoghead 阅读(419) 评论(0) 推荐(0)
摘要:介绍 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 ps. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 号操作符,可以将元组解压为列表。 例子 阅读全文
posted @ 2019-12-08 00:35 MrDoghead 阅读(249) 评论(0) 推荐(0)
摘要:背景 大家知道现在python主要有两个大的版本,一个是python2另一个是python3,那么不同的人可能会习惯不同的版本,而python2和python3又有一些区别和不兼容的地方,给程序猿造成了很大的烦恼,怎么办呢? 作用 Six 就是来解决这个烦恼的,这是一个专门用来兼容 Python 2 阅读全文
posted @ 2019-12-07 23:51 MrDoghead 阅读(12511) 评论(0) 推荐(0)
摘要:背景 狗头之所以开始接触并学习shell脚本呢,是因为最近工作中经常需要在跑模型前输入一些命令来设定一些配置或是参数,然后还要调用一些代码,那么在Linux中一条条输入起来就比较麻烦,而且可能会有输错、遗漏的情况,这个时候Shell脚本就可以帮忙解决这些问题。我们可以通过写一个Shell脚本来统一管 阅读全文
posted @ 2019-12-07 23:33 MrDoghead 阅读(262) 评论(0) 推荐(0)
摘要:Linux可能对于在校的非计算机相关专业的同学会比较陌生,比如狗头,之前的感觉一直是“可以,但是没必要”,一直依赖于图形界面。但是工作之后,尤其是要在服务器上做操作时,Linux可太重要了,因为所有的任务基本都是要在Linux环境下进行的,最近狗头就凭借之前的一点点印象,一边工作一边积累Linux 阅读全文
posted @ 2019-12-07 19:46 MrDoghead 阅读(162) 评论(0) 推荐(0)