
DIY
文章平均质量分 83
糖果天王
编辑自我介绍~ 才能让更多人了解你…… 哎?真的吗?
展开
-
【Selenium】基于 WebDriverWait 爬取带有懒加载的静态页面
朋友做标书,需要用到每日温度,他的老板让在这个网页手动复制做一个长期表出来:http://www.tianqihoubao.com/lishi/nanjing/month/202412.html简单的 BeautifulSoup4 只能爬到主要信息还没有加载时的页面内容网页返回信息的时间上下限非常久,快则3秒慢则30秒流式一行一行渲染,简单 wait 会很容易只获取一半就截断了。原创 2024-12-08 01:37:43 · 468 阅读 · 0 评论 -
【SQLite3】使用 SQLite 为模型训练中的并行 dataloader 节省内存
我的训练数据读到内存里就有好几个 G 那么大了,多进程 dataloader 跑并行训练的时候内存都被打满了怎么办啊?!**解决方案:** 基于 SQLite 无限数量的并行读取做一个 dataset 呗,多少 dataloader 并行着读都行。原创 2022-08-22 19:44:24 · 1053 阅读 · 1 评论 -
【SymbolicLink】利用软连接将已安装程序搬迁到其他盘符
一个基于 Sybmolic Link 的很有意思的解决方案。可用于将安装版的程序目录迁移到其他位置,以腾出硬盘空间。例如,把游戏安装到 C 盘,之后想挪到 D 盘去,假如直接剪切,会带来复杂的文件依赖问题。这样可以将很多程序挪到其他盘符,C 盘仅保留其软链,仍可以和原先一样使用。......原创 2022-08-05 16:25:51 · 1443 阅读 · 0 评论 -
【Requests】Bilibili Security 1024程序节 CTF记录
0x00 前言B站搞了个1024程序员节,看起来是个 toy CTF,有点开心。于是想到了曾经在CTF和ACM的路口选择了ACM,CTF一直是心中的一点遗憾,想着要不咱……玩玩看?0x01 养成看到网页就F12的好习惯页面的背后是什么?题目地址: http://45.113.201.36/index.html说到网页的“背后”,一般想到的就是有东西被隐藏了,我们可以直接审查元素看到果然有个 hidden:<body> <div class="banner"&g原创 2020-10-24 23:41:29 · 5545 阅读 · 6 评论 -
【CheatEngine】关于BCR的内存分析
0x00 前言随着学级的提升,任务的数量和种类原来越多,深感时间越发不够,犹豫再三还是决定把杀时间却对自己没有什么提升的兴趣爱好逐一舍弃掉,首当其冲的就是占用较多碎片时间以及睡前时间的手游。弃坑每个手游的时候,在微博上都会发下在下作为开服玩家的仓库和BOX之类的,为了在遥远的未来和别人谈论起这个游戏,能用这些截图证明自己不是云玩家,而是真实确实参与过的。但仅是如此的话,我觉得还不够吧,不如以一个计算机专业学生的视角,从一些别人不常看到的角度来讲讲,顺便记录一下由于一时兴趣而耗费在这个游戏上的那段时光。原创 2020-09-04 12:33:16 · 1265 阅读 · 0 评论 -
【Database】兼容 Python2 / Python3 适配编码的文件型数据容器
0x00 前言训练内存轻量化最近又在训练模型(炼丹),以前老抱怨,区区2万 samples 也好意思叫大数据,近期的任务似乎听到了我这个抱怨,纷纷都是什么“1700万个句子”,“4000个文档”的数据,对服务器内存一次次的进行着冲击。虽说我之前已经写过一个CIR(CorpusIterationReader)类实现的文章用来解决类似问题(哎?我那篇文章哪去了,被吃了么……emmmm,以后再重发一次吧。)但是那个类也只能让 pivot 以 “文件指针+instance指针” 的方式进行顺序存取,不是很好处原创 2020-07-21 16:20:04 · 468 阅读 · 0 评论 -
【Tensorflow】用于处理checkpoint中参数名称与矩阵数值的工具类
0x00 前言目前对于Tensorflow的模型参数文件,我们处理起来没有Pytorch的参数文件那样方便,并且现在任务中有个需求,要在“某几个参数矩阵中,将特定行的参数复制到某些其他行”。Pytorch的话就还好,因为毕竟是一群tensor被一个OrderDict包装起来的Python基本数据结构。同样的事情,在Tensorflow中处理起来会比较麻烦,于是考虑实现这个工具类 CheckpointMonitor 来提高处理效率。0x01 效果及API支持从Tensorflow的模型参数文件c原创 2020-07-04 17:24:12 · 846 阅读 · 2 评论 -
【Grpc】使用grpc配置通过端口访问的python服务
0x00 前言近期兴趣使然的技术调研越发的少了(TTS算一个),主要的都是为了项目和任务去研究的东西。目前的情况是为了节约显存,对一个较大的模型而言,比起使用4个worker来重复的占用显存,不如只占用一份显存,但是开启服务流式或触发式地处理不同项目的需求。于是 @caoyixuan93 学长向我推荐了GRPC,经过 @hongfeng 和 @phchang 的帮助,终于得以成功实现了一个小的...原创 2020-04-16 18:41:43 · 4763 阅读 · 0 评论 -
【HNS】试着领一下 HandShake 为开源社区发放的 HNS Coin
0x00 前言最近呢,开源社区除了这么一件事:《@ 开发者,这个 GitHub 项目可以褥羊毛》简单概述一下其大致意思呢就是:GitHub 有一个区块链项目 Handshake 正在面向 GitHub 上前 25 万名开发者派送 4,246.99 HNS 币。大约价值 1358.56 美元,换算成人民币则是差不多近 1 万元人民币。那么,这里所谓的前25万,它们是如何判定的呢?T...原创 2020-02-20 22:31:52 · 4081 阅读 · 0 评论 -
【Pytorch】RuntimeError: arguments are located on different GPUs
0x00 前言Pytorch里使用optimizer的时候,由于其会记录step等信息, 有时会希望将optimizer的内容记录下来,以备之后继续使用, 那么自然而然的会想到使用API中自带的 torch.save(object, path) torch.load(path)再配合上 optimizer.state_dict()原创 2017-11-07 17:59:58 · 7271 阅读 · 0 评论 -
【Julia】Linux下配置Julia交互开发环境(Julia notebook)
0x00 前言近期Julia这门语言突然被拉入了大众视野,我也是被一句 “Walk as Python,Run as C” 深深的吸引住了, 如果它没有在吹牛,那么这门语言说不定确实是我所想要的,那么,学学看吧?本篇文章主要用于介绍如何搭建便于学习与测试的REPL环境,先在Linux上试试水, 毕竟一旦Jupyter Notebook搭建起来之后,网页版的交互式环境就已经可以不受操作系...原创 2018-08-18 16:28:17 · 4866 阅读 · 0 评论 -
【Multiprocessing】采用多进程计算处理数据
0x00 前言在数据处理方面,通常会将较为简单的源数据存于本地磁盘中, 每次使用时读取,经过生成函数生成模型可以直接使用的训练数据, 而这种数据通常为矩阵的形式,考虑到padding位的情况下通常较大, 那么,在源数据的量较大,而生成的数据的空间占用增量巨大无法存于本地, 就需要采用生成一个,传输一个,消耗一个,之后再生成的形式。线性终归是缓慢的,此时就需要多线程进行处理, 如下...原创 2018-06-28 21:23:32 · 1230 阅读 · 0 评论 -
【Tensorflow】自主实现包含全节点Cell的LSTM层(Cell-Holding LSTM Layer)
0x00 前言常用的LSTM,或是双向LSTM,输出的结果通常是以下两个: 1) outputs,包括所有节点的hidden 2) 末节点的state,包括末节点的hidden和cell 大部分任务有这些就足够了,state是随着节点间信息的传递依次变化并容纳更多信息, 所以通常末状态的cell就囊括了所有信息,不需要中间每个节点的cell信息, 但如果我们的研究过程中需要用到这些c...原创 2018-06-28 17:17:30 · 1012 阅读 · 0 评论 -
【Tensorflow】自主实现部分连接层(Partial Connect Layer)
0x00 前言通常而言,在NLP领域的机器学习中时常会有这样的需求:argmaxP(wi∣θ)argmaxP(wi∣θ) argmax P(w_i \mid \theta) 较为常见的做法是有多少个单词就做一个多少维的全连接层加softmax,但是, 如果词汇表 |V||V||V| 很大的情况下,会有大量的计算(例如目前的工作中,词汇表的数量为80k), 在我们已知只需要计算其中某些词...原创 2018-06-28 15:54:40 · 1867 阅读 · 0 评论 -
【Pytorch 0.4.0】Windows操作系统下搭建Pytorch平台
0x00 前言就在今天,PyTorch 官方 GitHub 发布 0.4.0 版本,Pytorch主页上的OS也令人愉快的增加了Windows的选项。 这意味着PyTorch对于没有Linux/Unix系统,且没有远程开发机的学习者而言,更加易于上手便于使用了。 而对于非初学者而言,这次的改进合并了Tensor和Variable,着实是一项非常伟大的改进, 不仅如此,听说Caffe加入了...原创 2018-04-25 14:34:26 · 2144 阅读 · 2 评论 -
【Reverse】Tensorflow中屏蔽Padding处理变长序列的双向LSTM
0x00 前言通常我们处理双向LSTM的时候,序列长短不一参差不齐,就不可避免的需要进行padding, 实际上句子长度可能如下所示,为[2, 4, 5],就需要被padding成这样才能作为矩阵传入计算:array([[1, 2, 0, 0, 0], [2, 1, 4, 3, 0], [3, 2, 1, 5, 4]], dtype=int32)对于p...原创 2018-04-19 20:11:46 · 4572 阅读 · 2 评论 -
【RemoteJoy】PSP图像采集方案
0x00 前言只是简单的想给别人看看自己PSP1000(没错就是很元老级)里的命运石之门和刀剑神域里的画面。 图像采集?难道很难么? 试试看吧,好久没有探索新技能了0x01 准备RemoteJoyLite https://download.youkuaiyun.com/download/okcd00/10308078可以自行下载,感觉网上还是有蛮多版本的,我这里用的是019一台PS...原创 2018-03-25 23:08:47 · 1670 阅读 · 0 评论 -
【Lightgbm】AttributeError: 'LGBMRegressor' object has no attribute 'best_iteration'
0x00 情景复现使用 lightgbm 进行简单便捷的fit操作,尝试使用early_stopping, 以选择最好的一次迭代进行预测时,调用best_iteration时报错:import lightgbm as lgbgbm = lgb.LGBMRegressor(objective='binary', num_leaves=6...原创 2018-03-21 11:15:23 · 10408 阅读 · 0 评论 -
【DataProcessor】简易的通用多进程数据生成工具类(Advanced for HVD)
0x00 前言基于先前实现的Python多进程共享内存队列实现的SMQueue(原文地址),0x01 实现思路0x02 Source Code# coding: utf-8# ==========================================================================# Copyright (C) 2018 All right...原创 2018-10-03 17:46:52 · 1410 阅读 · 0 评论 -
【Tensorflow】逻辑斯特回归(Logistic Regression)的简单实现
### Introduction为了简单的介绍和讲解一下Tensorflow的基本操作,我决定做一个简单的逻辑斯特回归实现与代码讲解,但不太会用Markdown的方式来展现一个JupyterNotebook,姑且就按照“说明—实例”的方式来解释逐个代码块好了。原创 2018-10-07 02:30:53 · 1236 阅读 · 0 评论 -
【Multiprocessing】Python多进程内存共享数据队列SMQueue
0x00 前言自从先前研究了下Python的多进程计算(原文链接)之后,深深地感受到多进程处理的美好,并决定运用到模型训练时,作为 feed data 的数据处理模块使用,实现工具类 SharedMemoryQueue。但是众所周知,python的进程间通讯比较复杂,更别提大量进程的时候……想想就头疼……但是python本身就是万金油,为啥我非要用python的机制呢,用python调用...原创 2018-09-30 12:05:33 · 3439 阅读 · 2 评论 -
【TinyOS】Ubuntu12.04下 TinyOS2.1.2的搭建与配置
被坑了好久……好久……好久……终于搭建好了,不写个博客记(qing)录(zhu)一下么?前言自然要写最重要的东西:不要完全照抄2.1.1的教程去装2.1.2!2.1.2的/opt/tinyos-2.1.2/下并没有tinyos.sh文件!咳咳,来来来我们从头来说~ 图文说明哟第一件事自然是要加个tinyOS的源,这里用的是斯坦福的tinyOS源:原创 2015-06-08 04:01:42 · 1023 阅读 · 0 评论 -
【Pip】ValueError: ("Missing 'Version:' header and/or METADATA file at path
0x00 前言有时候,pip install 用的好好的,突然就一屏幕红字:ERROR: Error checking for conflicts.Traceback (most recent call last): File "c:\programdata\anaconda3\lib\site-packages\pip\_vendor\pkg_resources\__init__.py...原创 2019-08-24 10:59:02 · 3266 阅读 · 0 评论 -
【Matplotlib】在Jupyter交互页面中绘制折线图对比(自用函数)
最近数据对比的任务比较常见,比如好些模型的横向对比,对于 Loss、PRF、Hits 之类的数据,有时需要作log,有时需要去除前面几个值,还要考虑数据不对齐、记录文件格式不一致等诸多问题,总之主需求是鲁棒性,稍微写了个画表格的函数,暂时还比较乱,后续有时间再作优化好了,现在暂时写在这作为记录,便于易于在不同机器上获取使用以及方便后续优化更新。原创 2019-05-30 12:36:44 · 4401 阅读 · 0 评论 -
【PyTorch】TypeError: stack(): argument 'tensors' (position 1) must be tuple
0x00 前言近期有个版本适配的任务,说白了就是把 PyTorch 0.3.0 的代码更新适配 PyTorch 1.0.2,PyTorch 的向上兼容性在此时就可以体现出来了,令人欣慰的是直接升级版本后并没有太多报错,其中一个比较突出的问题就是 torch.stack() 和 torch.cat() 的变化。0x01 错误演示 @ torch.stack()>>> x ...原创 2019-04-21 13:40:01 · 12353 阅读 · 0 评论 -
【!Mode::】解决编码导致的 LaTeX IDE 中汉字乱码的问题
0x00 前言最近想试着用LaTeX写写作业,也是为了方便未来写论文的时候可以不那么手忙脚乱,从IDE开始就陷入了选择困难,最终选定使用 CTex 和 TeXStudio 这两者,CTeX 一直没有更新过了,是官网的那个 CTeX_2.9.2.164_Full.exe (1.31G),TeXStudio 则用的是 texstudio-2.12.14-win-qt5.exe (74.2M)...原创 2019-03-20 11:45:54 · 3025 阅读 · 0 评论 -
【sudo】ImportError: pip包未安装在当前环境的解决方案
0x00 前言通常在使用 pip 指令安装 Python 需求的包时,会需要使用 sudo pip install 获取权限,或者,在 Jupyter Notebook 里可以采用 ! 的语法调用 pip 指令直接安装需要的包,例如:! pip install xlrd! sudo pip install xlrd但有时安装后发现当前环境或虚拟环境(conda-env)中,其实是因为...原创 2019-01-16 21:58:04 · 1284 阅读 · 0 评论 -
【Tensorflow】超参调整时对于模型重加载轻量化的测试
0x00 前言由于各类模型在落地使用时都或多或少地需要一些超参的调整(学名调参、俗称炼丹),但如果每次修改少量超参之后,都要把网络和模型重新初始化一遍,这样就太花时间了,所以考虑能否尽量减少,甚至可以一次初始化,N个 for 循环的形式来解决超参测试呢?0x01 测试代码import osimport tensorflow as tfclass test_class(object)...原创 2019-01-02 11:39:55 · 657 阅读 · 0 评论 -
【Docker】在Linux下安装与配置Docker环境
0x00 前言没有太多说的,这个可能也到处都有…… 每个人的方法大概也大同小异?主要是自己第一次接触docker,就当作简单的做一个记录与总结吧。(注意:本篇和以前的环境配置不同,这次主要着眼于问题的解决)0x01 记录查看当前系统版本Linux 系统需要不小于 3.10.x下述输出的意思是:系统为Linux,名称为c9,版本为3.10.0,64位系统[chend@c9 ~]$...原创 2018-11-20 11:17:32 · 21678 阅读 · 2 评论 -
【HTTPServer】借助Python建立简易的HTTP服务
0x00 前言局域网内有个想传的文件,但是跨平台了怪麻烦的。于是想着建立个http服务来传吧,但是又懒得下载东西,哦对了我有Python,那就足够了~0x01 防火墙打开端口为了开启服务,首先需要打开一个对外端口以便其他机器访问进来,Python中自带的HTTP Server默认占用的是端口8000,当然也可以自己选定特定端口。如果直接使用命令无法访问的话,那应该就是被防火墙挡住了(...原创 2018-11-22 11:48:20 · 10351 阅读 · 9 评论 -
【Chrome-crx】键盘模拟鼠标点击网页按钮
0x00 前言最近在做一个标注任务: 简单的说,就是屏幕上有好多小方块,选中其中的部分, 然后在页面下面的四个标注按钮(红绿蓝黑)上点一下, 小方块们就会被染成这个按钮的颜色,需要把所有的小方块们染色完。请各位想象一下:纯鼠标工作,在一个白底的网页上来回翻飞舞动,眼睛都看花啦! 所以我决定想个法子把这四个染色按钮绑在我键盘上的几个键上(QWER就是你们了)。 (以后标注起来看起来在打DOTA原创 2017-10-11 17:12:40 · 14383 阅读 · 1 评论 -
【Autograd】深入理解BP与自动求导
“所有数值计算归根结底是一系列有限的可微算子的组合” ——《An introduction to automatic differentiation》 BTW:也可以点击传送门去我的个人主页看这篇文章哦~ 符号语言的导数 《Deep Learning》 Chap 6.5.5代数表达式和计算图都对符号(symbol) 或不具有特定值的变量进行操作。这些代数或者基于图的表达式被称为符号原创 2017-10-20 12:53:23 · 5911 阅读 · 0 评论 -
【矩阵分解】Python下基于Numpy的四种矩阵基本分解的实现
0x00 需求完成课堂上讲的关于矩阵分解的 · LU、 · QR(Gram-Schmidt) · Orthogonal Reduction Householder reduction Givens reduction 程序实现,要求一个综合程序,根据选择参数的不同,实现不同的矩阵分解。反正也是要写,就顺手做成了实现类,可以import调用的那种,为了写作业方便,也设置了原创 2016-12-04 22:05:44 · 15215 阅读 · 0 评论 -
【conf】配置文件入门 ConfigParser for Py2.7.6
声明:本文转载自windone0109@csdn,原出处不可考,故仅做出我看到的这则转载的传送门:【这里】一、ConfigParser简介ConfigParser 是用来读取配置文件的包。配置文件的格式如下:[db]db_host = 127.0.0.1db_port = 22db_user = rootdb_pass = rootroot[concurrent]转载 2015-10-15 15:53:21 · 559 阅读 · 0 评论 -
【简易Python爬虫】 初试爬虫_简易Python图片爬虫实现
前言之前的电话面试中被问到了是否会爬虫,简单的就行啊,爬虫爬虫……我还是自学个最简单的吧,至少得理解下这是啥意思啥原理吧于是,照葫芦画瓢……试试看咯,顺带记录在这里备忘,毕竟是第一次用,请允许我逐行百度逐词谷歌所以就变成了这个完全注释版——二话不说上代码#coding=utf-8 import urllibimport re def downloadPage(ur原创 2015-07-22 16:48:05 · 3038 阅读 · 0 评论 -
【py/pyspider抓取】进行简单的静态网页抓取
前言python脚本写了一段时间之后,大致理解了python抓取的一些简单用法,也尝试着对一些大站点进行了抓取于是觉得,咱来试着用用看既有的平台吧……话说回来,python的话是这样的#-*- coding: gbk -*-from bs4 import BeautifulSoupimport urllib2import sysimport logging im原创 2015-08-25 13:16:52 · 4536 阅读 · 0 评论 -
【多文件操作】使用C++筛选合并多文件的尝试
今天接到一个小任务,说是让把好多文件(大概2800来个,总大小超过1G)中的信息进行筛选,整合到一个文件里方便接下来的操作。那么,无可避免的就需要用到多文件读写。那么,该如何批量打开多个文件进行读写操作呢?众所周知 freopen(filename,r/w,i/ostream)的第一个参数filename需要是一个常量const char*,即便文件名是有序的,我们也没办法将变量传参进去。原创 2015-07-17 23:56:18 · 1434 阅读 · 0 评论 -
【Android小练手】安卓端实时获取HttpUrl数据
前言关于上一篇文章中基于servlet的HttpUrl服务端,以时间为例的实时信息更新。在安卓端想要写一个demo,即通过原创 2015-07-16 10:02:37 · 3594 阅读 · 0 评论 -
【JavaEE小练手】Servlet实现HttpUrl数据获取
前言嘛……对于深恶痛绝的JAVA,不得已还是得稍微做些东西,再怎么恨得牙痒痒烦的头冒烟也得写啊……JAVA来说最烦的就是分支太多,选择太多,坑太多,环境太难配……呐,这不是,失败的想法——HttpUrl为手机动态同步服务器数据,的半成品拿来作以后写项目的备忘了么~咳咳,这个大概是一个什么呢……是一个使用JAVAEE搭建一个使用JSP页面获取所需值的项目环境说明Win原创 2015-07-07 23:14:12 · 773 阅读 · 0 评论 -
【CTF-WEB】WEB小伎俩 _CTF自学纪实
CTF原创 2015-06-04 14:13:02 · 6729 阅读 · 0 评论