- 博客(48)
- 收藏
- 关注
原创 Dataframe的一些操作合集
指定列进行排序df.sort_values(by='col_name')重命名列名df.rename(columns={'ori_col_name': 'new_col_name'}, inplace=True)
2021-08-30 20:04:08
286
原创 Tensorflow name_scope和variable_scope区别简明介绍
首先说明,name_scope 和variable_scope 的作用都是起到变量命名空间的作用,和C++中的命名空间基本上是同一种东西,能够起到更好的管理模块变量的作用。但是在具体给变量添加命名空间的时候,两者又有细微的差异。tf.variable_scope()在该命名空间下,变量和ops 都会被加上变量空间 。with tf.variable_scope("foo"): v = tf.get_variable("vector", [3], initializer=tf.random_n
2021-08-17 15:46:10
197
原创 统计数组或张量中全零行向量的个数
mtx = np.arange(15).reshape(5,3)mtx[2,:] = np.zeros((1,3))print(mtx)fr = np.count_nonzero(mtx,1)sec = np.not_equal(fr, 0)print(fr)print(sec)print(np.sum(sec))对于三维或者更高维度的数组,根据想要统计的情况,调整fr = np.count_nonzero(mtx,1) 中的维度即可。...
2021-06-27 11:48:43
417
原创 实现embedding的tf.gather函数
这里,开篇我首先介绍一个tf.gather函数容易踩坑的操作,再详细介绍该函数。坑tf.gather函数在GPU上运行时,当出现下标越界的情况时,程序不会报错,而是会返回一个全0的向量作为其embedding向量。在cpu上运行时,出现越界的情况就会直接报错。tf.gathertf.gather( params, #下标用来取值的张量 indices, #下标 validate_indices=None, name=None, axis=0)该函数的
2021-06-05 20:44:07
296
原创 TFReocrd类型数据读写
这里结合自身实际使用,记录一下对TFRecord文件中每一条数据遍历的方法。方法一该方法在自己的测验过程感觉比较快一点 cnt = 0 for serial_exp in tf.python_io.tf_record_iterator('../data/20_part-r-00199.tfrecord'): example = tf.train.Example() example.ParseFromString(serial_exp) la
2021-05-27 19:37:23
166
原创 tf.app.run() 和tf.app.flags
tf.app.run其常出现的场景为 if __name__ == "__main__": tf.app.run()tf.app.run()会调用main 函数,并传递参数。因此,必须在main 函数中设置一个参数位置。如果想要更换main 名字,只需要在tf.app.run 中传入一个指定的函数名即可。def test(args): passif __name__ == "__main__": tf.app.run(test)因为tf.app.run()要传递参
2021-05-11 16:13:43
273
原创 python if__name__ == “__main__“ 意义
之前看py文件范式都是这样写的,也就没有深究该行语句的含义。今天偶然看到了关于该语句的介绍,觉得还是有必要记录一下,帮助往后的初学者。背景对于一个py 文件,如果只对该文件进行执行,而不把该文件当成一个模块在别的py 文件中调用的话。那么此时该条语句对整个文件的影响不大。假如,你创建了一个fun.py 文件,其中的内容为# fun.pydef call_func(): print("This is a python function.")print("Call func here.")
2021-05-11 14:23:39
136
3
原创 python不同情况下的全局变量
全局定义变量可在函数内外定义均可;全局变量定义只在其之下起作用,对其上部无效;全局变量定义后并非一直不变,如果在其后仍有变量重新定义,变量值仍会改变;定义在函数中的全局变量,如果函数没有被调用全局变量无效。在一个模块内定义全局变量只能在本模块内使用不能再其他模块内使用;跨模块使用全局变量需要在一个另一个模块中定义全局变量并被调用...
2021-03-20 19:14:26
210
原创 BUG记录---变量全局域变作用域引发的Bug
场景对于别人的开源项目,将其主函数改为普通函数的定义。然后在另一个文件夹中在主函数下调用原项目执行的函数(原主函数)。产生BUG就直接将原主函数改为普通函数定义,然后直接调用的话,生成的BUG很晦涩,也无法直接地指向真正的BUG所在之处。如何找到BUG因为我是要将原主函数定义为一个普通函数,然后调用。但是我现在是跨文件调用了,根据可执行的最小改动去定位BUG所在之处。我就直接在原文件中主函数下调用由原主函数定义来的普通函数。这时产生的报错就很直接明了,直接说明***变量未定义。解决BUG和反思
2021-03-19 23:14:14
144
转载 pandas dataframe数据重塑图解Pivot, Pivot-Table, Stack and Unstack
文章目录 数据重塑图解—Pivot, Pivot-Table, Stack and Unstack引言Pivot常见错误 Pivot TableStack/Unstack 数据重塑图解—Pivot, Pivot-Table, Stack and Unstack...
2020-12-10 17:20:28
880
原创 Bug记录--python ndarray一维向量不能使用.T转置
说明对于一维向量而言,使用.T是无法进行行向量和列向量之间转换的。一维向量<class ‘numpy.ndarray’>(5,)具体情境我是在提取矩阵的一行进行计算的时候遇到的这个问题。我将两个矩阵的一行提取出来想对一个行向量转置之后进行列向量乘以行向量的运算(别问为什么不直接进行矩阵运算,因为这一步还有别的运算步骤我当前只能这样)。解决办法使用reshape方法将一个一维向量转变成一个n*1的二维向量,再使用.T进行转置。# 行向量错误的转置方法。你以为你转置了嘛?其实并
2020-11-21 22:21:24
979
原创 ‘module‘ object is not callable
Bug产生背景我在一个py文件中调用了另一个路径下的py文件中定义的类。在当前的py文件中引入该类的写法如下:from MyClassParentDir import MyClass执行当前程序,就报出了标题的错误。解决方案在Myclass所属的py文件的同级目录中的__init__.py 添加如下内容:from .MyClass import MyClass这样bug就解决了。...
2020-09-21 16:26:57
91
原创 推荐系统常用名词解释
impression:用户观察到曝光的产品click:用户对impression的点击行为conversion:用户点击之后对物品的购买行为CTR:从impression到click的比例CVR:从click到conversion的比例CTCVR:从impression到conversion的比例pCTR:p(click=1 | impression)pCVR: p(conversion=1 | click=1,impression)pCTCVR: p(conversion=1,click.
2020-09-05 10:10:41
899
转载 如何理解T检验和P值
首先,我们走个流程,记录一下正式的解释:t检验是通过比较不同数据的均值,研究两组数据之间是否存在显著差异。接下来是我转自知乎上的一个通过一个例子来详尽的解析T检验及P值的文章,我看完颇有启发。关于T检验以及各种假设检验的操作方法,网络上有很多详细讲解。今天我们不谈具体的步骤,而是通过案例全方面地将T检验的逻辑和思想,掰开揉碎,尝试用白话讲一步,增进大家的理解,不知知足欢迎指出讨论。案例:5年前,全国男性的平均身高是1.75米(普查得到的总体均值),现在我们想知道如今男性的平均身高是否发生了改变
2020-08-29 17:32:15
25888
1
原创 cmake设置gcc/g++编译选项
因为项目需要,要将程序编译成non-pie类型的,所以需要在其编译时为其指定-no-pie编译选项。该程序是使用cmake构建的,因此要在cmake时指定编译参数。在命令行设定参数cmake -DCMAKE_INSTALL_PREFIX=××× -DCMAKE_C_FLAGS=-no-pie -DCMAKE_CXX_FLAGS=-no-pie这里顺带用CMAKE_INSTALL_PREFIX指定了安装路径,我所使用的就是这种方式。在网上看到还有其他方式,记录在下。在CMakeLists.tx
2020-08-07 09:31:44
9749
原创 linux安装exiv2,Could NOT find EXPAT (missing: EXPAT_LIBRARY EXPAT_INCLUDE_DIR)
我在ubuntu上安装exiv2,执行第一步cmake的时候报错CMake Error at /usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find EXPAT (missing: EXPAT_LIBRARY EXPAT_INCLUDE_DIR)Call Stack (most recent call first): /usr/share/cmake-3.9/Mo
2020-08-03 22:22:20
3159
原创 如何阅读一篇论文-CS230
吴恩达在CS230里介绍了他阅读论文的步骤,特此记录。步骤首先,他强调了论文要读多遍。第一遍看title、abstract、figure。第二遍看introduction、conclusion以及再仔细看看所有的figures,然后浏览一下剩余的部分就行。其中教授特别强调了skim related work。如果你没有这个方向大量论文阅读的经历,那么相关工作部分有时候会无法理解,这种情况可跳过。相关工作部分是作者试图引用审稿人的东西。(hhhhh,大佬真诚实)第三遍read but skip
2020-07-16 14:17:57
155
原创 LLVM获取前驱和后继基本块的数量
今天在查找LLVM的有关资料的时候,发现了一个很好的页面。链接在这里 。这里介绍了检查和使用控制流图的各种使用程序。包括前驱、后继的遍历,获取前驱后继的数量等等使用操作。在里面即提供了pred_size()函数和succ_size()函数来直接的获取基本块的前驱和后继数量。此外BasicBlock类下的方法hasNPredecessors()和hasNPredecessors()函数也很好用。...
2020-06-25 17:30:20
892
原创 afl-fuzzer下的llvm_mode编译的一些坑。
由于AFL的llvm_mode需要安装llvm,于是进行llvm的安装。一开始参照网上的安装方法:下载源码然后进行编译等一系列操作。这个过程及其耗时,向师兄请教了一下,才知道llvm提供了Pre-Built Binaries。也就是有预编译好的,只要直接下下来用就行了,不需要进行编译了。...
2020-06-21 11:54:50
2278
2
原创 afl中llvm_mode下的afl-llvm-pass.so.cc源码解析
菜鸟入门,如有任何不当之处,烦请各位路过的大佬指正,不胜感激!首先在匿名的命名空间中,定义一个继承自ModulePass的AFLCoverage类。而对于ModulePass的理解我们可以参考官网对其的介绍:The ModulePass class is the most general of all superclasses that you can use. Deriving from ModulePass indicates that your pass uses the entire prog
2020-06-07 22:16:32
1913
1
原创 Tensorflow/keras 小白易踩的坑
坑1. tf/kears 在运行时,会默认占用当前服务器上的所有GPU!!! 2. tf/kears 在运行时,会默认占用所使用GPU的全部显存!!!解决办法1. 指定所用的服务器。首先使用nvidia-smi查看当前服务器中的GPU使用情况,然后找一块可用显存多的GPU使用。是根据该命令显示的第一列的GPU的编号指定GPU的.import osos.environ["CUDA_VISIBLE_DEVICES"] = "2"2. 限制tf/keras使用的显存有两种限制使用显存的方式。
2020-05-15 00:12:40
248
原创 大厂面试之----进程与线程的区别
进程定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配的一个独立单位。进程拥有独立的地址空间。线程定义由于进程切换的代价、开销较大以及系统对更高的并发性的需求,引入了线程。所以线程是比进程更小的能独立运行的基本单位,它可以提高系统内程序并发执行的速度,减少系统开销。线程是系统资源调度的独立单位,线程除了一些必不可少的资源它不拥有系统资源。同一个进...
2020-04-28 21:01:02
229
转载 用python比较两份文件的异同
【需求背景】有时候我们要对比两份配置文件是不是一样,或者比较两个文本是否异样,可以使用linux命令行工具diff a_file b_file,但是输出的结果读起来不是很友好。这时候使用python的标准库difflib就能满足我们的需求。下面这个脚本使用了difflib和argparse,argparse用于解析我们给此脚本传入的两个参数(即两份待比较的文件),由difflib执行比较,比较...
2020-03-30 13:32:11
1893
转载 Deepin启动后 只显示桌面背景 无法进行任何操作
Deepin真的让我心累。这次引发这个问题,应该是昨晚系统不知怎么卡了,摆弄了几下还是没反应,就直接按电源键强制关机了,再次开机就是这样了。所以卡的时候,要关机尽量也要用Linux命令关机更安全。参照了一位博主的博客,亲测有效,遂记录一下。解决步骤进入桌面环境之后按ctrl+alt+F2进入虚拟控制台tty,然后输入账户和密码登录进去;首先运行top命令看看是不是有什么程序卡住了;执行命...
2020-03-24 11:10:26
1728
原创 Linux命令详解之./config && make && make install
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。
2020-03-22 10:35:05
1064
原创 Linux下Anaconda的安装和conda使用完整版
Anaconda简介anaconda是一个开源的python发行版本,其中包含了conda,Python等软件包及numpy,pandas,scipy等科学计算包;而无需再单独下载配置。软件发行版本是在系统上提前编译和配置好的软件包集合,装好后就可以直接使用。conda简介conda是一个开源的软件包管理器和环境管理器,用于对多个版本的软件包及其依赖关系进行安装、卸载和更新,并在他们之...
2020-03-20 07:56:39
2027
1
原创 C++ unordered_map | 哈希表
C++ STL中,哈希表对应的容器是 unordered_map(since C++ 11)。定义template < class Key, // unordered_map::key_type class T, // un...
2020-03-02 14:45:27
1230
转载 C++文件读写详解(ofstream,ifstream,fstream)
看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结:这里主要是讨论fstream的内容:#include <fstream>ofstream //文件写操作 内存写入存储设备 ifstream //文件读操作,存储设备读区到内存中fstr...
2020-03-01 10:53:17
288
原创 NEUZZ: Efficient Fuzzing with Neural Program Smoothing 源码阅读
在阅读了Neuzz的源码之后,决定记录下阅读源码整理出的Neuzz具体工作机制,以供日后回顾。如有出现理解错误,烦请路过的大佬们多指点,不胜感激。程序结构NEUZZ的主要工作机制是一个C文件和一个py文件交互的工作过程。两个文件的通信是利用socket通信进行的。neuzz.c的工作在main()函数中,对执行该文件时的各项命令参数尽心解析之后,就是众多封装好的函数了。setup_si...
2020-02-25 17:13:18
2117
14
原创 Deepin的chrome浏览器联网情况下无法正常使用 进一步发现能Ping通IP却Ping不通域名
这里写自定义目录标题Deepin系统的chrome浏览器无法正常打开百度等页面Ping通IP却Ping不通域名解决方法Deepin系统的chrome浏览器无法正常打开百度等页面我在安装好deepin系统后发现通过chrome浏览器浏览页面的话需要“科学上网”才能打开百度、必应等基本搜索页面。当时想着凑合着用,一直没去找原因。今天闲着就来看看这到底是怎么一回事。当正常打开百度等搜索页面时,出现下...
2020-02-21 11:01:54
1672
原创 libtool已经安装了 但是报错libtool not found, please install first
问题描述在afl的qemu_mode目录下,执行./build_qemu_support.sh,报错libtool not found, please install first。执行sudo apt-get install libtool提示libtool已经安装好了。但是执行which libtool没有信息输出。解决方案libtool是安装了,但是libtool-bin未安装。于是执...
2020-02-18 18:33:55
8147
4
原创 源码安装gcc-5.4.0
1. 下载gcc-5.4.0源码sudo -icd /optwget http://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.gz# 如果wget下载速度过慢 可以直接粘贴链接到浏览器下载 2. 解压tar -zxf gcc-5.4.0.tar.gz3.下载编译所需要的依赖包3.1 wget下载速度快的时候cd gcc-5.4...
2020-02-14 18:04:15
1911
转载 keras 两种训练模型方式fit和fit_generator
在模型搭建完compile以后,一行"model.fit_generator(xxx)"就可以完成训练。真正让服务器开始忙的就是这一行代码。keras给模型喂入数据的函数有fit和fit_generator。fitfit()函数传入的x_train和y_train是需要将数据完整的加载进内存封装成数组的。import kerasfrom keras.models import Seque...
2019-12-15 22:11:16
2128
原创 screen显示窗口查看历史输出
在screen当前显示的视窗下,当输出信息很多时,想直接利用鼠标或者方向键查看历史输出的话,会发现不行。方法先利用ctrl-a [ 进入copy mode。在copy mode下可以回滚、搜索、复制就像用使用 vi 一样。在copy mode下有这些快捷键:C-b :Backward、PageUpC-f :Forward、PageDownH: High,将光标移至左上角L:L...
2019-12-11 10:11:48
16910
4
原创 利用alias简化进入较深的路径
有时候我们需要频繁的进入比较深的目录,每次都cd 对应的路径到达的话,就很麻烦。为了简化这一过程我们可以借助alias这一命令。如何做话不多说,直接进入主题。vim ~/.bashrc 进入basnihrc文件。在该文件中添加alias myCD = 'cd /home/**/**/***/**'保存并退出文件,在终端输入source ~/.bashrc刷新一下。在终端中输入myCD...
2019-12-10 16:30:09
327
1
转载 Win10安装Deepin双系统找不到启动项
lz有点儿啰嗦,内容较长,请耐心看下去,万一有用呢?该内容也适用于Win8/8.1lz从去年开始在一台预装Win8.1的联想一体机上尝试安装Win8.1+Deepin双系统,安装了无数次,就是找不到Deepin启动项(那叫一个气啊!),Security Boot关闭没用,用EasyUEFI添加显示数据无效,用Bootice添加也无效。无奈最后放弃了,最近突然想到一个原因,并重新尝试安装,现已成功...
2019-12-06 10:38:11
10943
2
原创 Python 字典和数组的保存与读取
保存字典类型 #保存 dict_name = {1:{1,2,3,4},2:{9,10}} f = open('dict.txt','w') f.write(str(dict_name)) f.close() #读取 f = open('dict.txt','r') ...
2019-11-29 09:20:39
1973
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人