- 博客(59)
- 收藏
- 关注
原创 数据结构和编程语言关系
数据结构其本身是和语言无关的,也就是说数据结构只有一个版本,至于应该选择哪一个语言进行学习,可以就个人爱好与善长决定。C,C++,Java都是不 错的选择。数据结构和语言的关系就像数学定理和描述它的自然语言一样,你可以用中文表达勾股定理,也可以用英文,法文或者世界上任何一种语言表达它,但是 世上只有一个勾股定理。当然,如果任何一种语言你都不会,那将无法学好数据结构的。如果你打算今后都用C语言,那么可以认为数据结构是C语言的加强和发 展。...
2022-04-21 08:17:41
2643
原创 linux下的文件分析工具 -- nm
linux下的文件分析工具 -- nm什么是nmnm命令是linux下自带的特定文件分析工具,一般用来检查分析二进制文件、库文件、可执行文件中的符号表,返回二进制文件中各段的信息。目标文件、库文件、可执行文件首先,提到这三种文件,我们不得不提的就是gcc的编译流程:预编译,编译,汇编,链接。 目标文件:常说的目标文件是我们的程序文件(.c/.cpp,.h)经过预编译,编译,汇编过程生成的二进制文件,不经过链接过程,编译生成指令为: gcc(g++) -c file.c(file..
2022-01-17 16:26:49
954
原创 centos图形界面的开启和关闭
一般来说centos主要用于服务器端,所以很少开启图形化界面,但是有时候为了工作方便也会偶尔开启图形界面,下面就让简单谈谈如何开启图形化界面,当然简化安装是没有这个程序的需要自行安装,可以yum安装下CentOS作为服务器的操作系统是很常见的,但是因为需要稳定而没有很时髦的更新,所以很少做为桌面环境。在服务器上通常不需要安装桌面环境,最小化地安装 CentOS(也就是 minimal CentOS)就可以了。不过在最小化安装的 CentOS 中通过 YUM 来安装桌面环境也是非常方便的。...
2021-10-22 09:38:12
2376
转载 sed匹配多行替换
sed匹配多行替换sed-i'/aaa/{:a;n;s/123/xyz/g;/eee/!ba}'yourfile如题:aaa123123123123123eee怎么匹配aaa~eee(开始结束字符串确定),然后替换123这样的先匹配aaa,匹配到后执行大括号里的语句。n 读取下一行s/123/xyz/g 将123替换为xyz,全局替换,同一行中出现几次替换几次:a设定跳转标签a/eee/!ba 若当前行匹配不上eee,则跳转到标签a处继续执行,构成一个...
2020-11-26 17:47:32
4321
转载 Kinect传感器的硬件组成
1.3.1 Kinect的结构组成《Kinect人机交互开发实践》第1章Kinect简介,本章将介绍Kinect的基本概念及其发展历程,并简要剖析其结构功能以及体感交互技术的原理。最后还会对Kinect for Windows的应用领域进行概览和展望。本节为大家介绍Kinect的结构组成。1.3 Kinect体感交互技术原理初看Kinect,你或许只看到了3个小摄像头,那么Kinect...
2019-04-25 16:30:19
3131
转载 Python __iter__()迭代器
__iter__():迭代器,生成迭代对象时调用,返回值必须是对象自己,然后for可以循环调用next方法next():每一次for循环都调用该方法(必须存在)class A(object): def __init__(self,num): self.num = num self.start_num = -1 def __ite...
2019-04-02 11:15:26
17166
12
转载 python 生成器和迭代器
本节主要记录一下列表生成式,生成器和迭代器的知识点 列表生成器 首先举个例子现在有个需求,看列表 [0,1,2,3,4,5,6,7,8,9],要求你把列表里面的每个值加1,你怎么实现呢?方法一(简单): 1 2 3 4 5 6 7 8 9 info=[0,1,2,3,4,...
2019-04-01 18:02:56
153
原创 Python yield 使用浅析
您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。如何生成斐波那契數列斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一...
2019-03-28 17:55:24
167
转载 Python 类中方法的内部变量,命名加'self.'变成 self.xxx 和不加直接 xxx 的区别
如果不加self,表示是类的一个属性(可以通过“类名.变量名”的方式引用),加了表示是类的实例的一个属性(可以通过“实例名.变量名”的方式引用)。比如:In[17]:classTest(object):....:val=1....:....:def__init__(self):....:self.val=2...
2019-03-28 16:50:25
986
转载 linux screen 命令详解
linux screen 命令详解一、背景系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。二、简介GN...
2019-03-27 12:00:05
250
转载 Python杂谈: __init__.py的作用
我们经常在python的模块目录中会看到 "__init__.py" 这个文件,那么它到底有什么作用呢?1. 标识该目录是一个python的模块包(module package) 如果你是使用python的相关IDE来进行开发,那么如果目录中存在该文件,该目录就会被识别为 module package 。2. 简化模块导入操作 假设我们的模块包的目录结构如下:...
2019-03-25 12:00:17
290
转载 python的复制,深拷贝和浅拷贝的区别
在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用一般有三种方法,alist=[1,2,3,["a","b"]](1)直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变>>> b=alist>>> print ...
2019-03-22 15:55:25
156
转载 Python 迭代器 & __iter__方法
转载自http://blog.csdn.net/bluebird_237/article/details/38894617迭代器就是重复地做一些事情,可以简单的理解为循环,在python中实现了__iter__方法的对象是可迭代的,实现了next()方法的对象是迭代器,这样说起来有点拗口,实际上要想让一个迭代器工作,至少要实现__iter__方法和next方法。很多时候使用迭代器完成的工作使...
2019-03-22 15:21:14
197
原创 ubuntu 查看隐藏文件的两种方法
解决方案:方案一,若使用桌面可视化窗口,进入该待显示的文件路径,进入ctrl + h ,则显示隐藏文件方案二,若使用命令行,则使用命令:ls -a 显示所有文件,也包括隐藏文件...
2019-03-20 10:38:53
353
原创 杀死GPU进程并释放显存
kill -9 PID 可用于杀死GPU进程若杀死进程后显存仍然占用,可用命令fuser -v /dev/nvidia* 查找占用GPU资源的PID,然后执行kill -9 PID结束进程,这样就可以释放内存了。...
2019-03-19 10:01:43
1393
转载 tensorflow checkpoint文件的版本
根据官方的说明,checkpoint有两个版本:1和2在0.12版本tensorflow更新了checkpoint版本,默认情况下写入和读取的checkpoint都是新的V2版本,新版本能够在restore过程中显著降低内存峰值。两种版本模型保存方式如下:更多关于0.xx版本和1.0以上版本的区别请看:https://blog.csdn.net/hfutdog/article/det...
2019-03-13 17:37:03
636
转载 tf.split()函数的用法
在tensorflow 的代码里经常看到tf.split()这个函数,今天来扒一扒这个API的用法tf.split( value, num_or_size_splits, axis=0, num=None, name='split')Splits a tensor into sub tensors.If num_or_size_splits ...
2019-03-06 10:56:33
388
原创 pip安装其他软件注意事项
当pip指向pip3时,有时候要安装python2的软件,这时候可以用pip2 install xxxxx例如:安装virtualenv时,可以这样:pip2 install virtualenv
2019-03-01 12:14:12
162
原创 ubuntu 中python2和python3分别是pip2,pip3,pip指向问题
因为python2和python3版本不兼容的原因,所以很多系统上避免不了转python2 和python3。 pip 有时候指向pip2;有时候指向pip3。在我的电脑上,pip和pip3 都指向了python3.。为了让pip指向python2, pip3 指向python3.需要做一些简单的修改:命令如下:which pip一般情况下会显示:/home/feng/...
2019-02-25 15:53:10
3584
转载 GitHub的Fork 是什么意思
现在有这样一种情形:有一个叫做Joe的程序猿写了一个游戏程序,而你可能要去改进它。并且Joe将他的代码放在了GitHub仓库上。下面是你要做的事情fork并且更新GitHub仓库的图表演示 Fork他的仓库:这是GitHub操作,这个操作会复制Joe的仓库(包括文件,提交历史,issues,和其余一些东西)。复制后的仓库在你自己的GitHub帐号下。目前,你本地计算机对这个仓...
2019-01-25 11:03:14
338
原创 学术研究与工程实现
1.就从编程语言说起,刚开始是汇编,编写程序内存利用率很高;但是随着科技的发展,内存越来越大,越来越便宜,内存不再是问题,现如今JAVA使用率远远高于汇编,其中使用JAVA编程时,内存冗余度特别高,因为很多语法都会用到相同的底层模块。2.和深度学习类比,研究的重点应该是精度,当然深度学习内部网络参数肯定会有很大的冗余度,但是,随着硬件的发展,这些将不再是问题。 至于速度方面,把稳定的算法...
2019-01-24 12:06:22
322
转载 芯片行业都难在哪儿?这篇说得最详细!
人工智能前沿讲习班在中国和“外国”这两国的较量中,究竟哪一国更占上风?有说中国吊打外国,有说外国轻松把中国摁在地上摩擦,双方都列举了林林总总的例子,整得我们吃瓜群众一脸懵逼。当然,中间派肯定说两国各有利弊,但这结论虽然正确却没啥营养。想要在中外两国这个话题上显得有见识,得先搞明白啥是技术? 一、核心技术到底是个啥?把技术分分类,第一类姑且叫“可山寨技术”,或者叫“纯烧钱技术”,有人...
2019-01-24 11:47:12
2611
转载 【人体姿态估计】articulated pose estimation基础知识、博客、论文、数据集等资料整理
人体姿态估计资料整理目录1. 基础知识1.1相关术语2. 资料博客2.1 OpenPose相关3. 论文3.1 Convolutional Pose Machines(CPM)3.2 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields3.3 Stacked Hourglass Networks f...
2019-01-21 09:47:32
409
原创 中文注释引发的python程序报错
import scipy.io as sioimport numpy as npimport jsonimport cv2import lmdbimport caffeimport os.pathimport struct#LMDB:Lightning Memory-MAPPed Database Manager 闪电般的内存数据库管理器,而不是肢,臂的意思。def write...
2019-01-16 10:35:20
164
原创 Ubuntu命令行下运行matlab
1. 打开matlab 无窗口命令 feng@linux:/$ /home/feng/my_prog/MATLAB/R2016b/bin/matlab -nodisplay2. 运行命令 >>genJSON FLIC 备注: genJSON.m是需要运行脚本 ,FLIC是传入脚本的参数。...
2019-01-16 10:19:14
2720
转载 ubuntu16.04 python3.6 caffe(CPU) 配置记录(四)
从头开始配置编译python3.6版本的caffe整整花了10天时间,期间经历了很多事,所以状态一直很差,真正的配置时间应该在五天左右.目前搜索到的caffe配置版本多数是2.7和3.5,关于python3.6的配置基本没有.但是目前anaconda3用的python版本为3.6,tensorflow最新使用的都是3.6,所以我电脑里存在的就是3.6版本.所以我决定配置python3.6版本的...
2019-01-10 10:31:06
493
原创 caffe 安装教程(二)
1. 安装相关依赖项1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler2 sudo apt-get install --no-install-recommends libboost-all-dev3 su...
2019-01-09 16:30:43
363
原创 Introduction to OpenCV-Python (三)
OpenCV from:https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_setup/py_intro/py_intro.html#introOpenCV was started at Intel in 1999 by Gary Bradsky, and the first release came out in 2000. Vadi...
2019-01-09 16:17:10
184
原创 caffe 安装教程(一)
Ubuntu安装配置Caffe教程(GPU版)此教程主要借鉴自:GPU版:http://www.linuxidc.com/Linux/2016-12/138870.htmCPU版:http://www.linuxidc.com/Linux/2016-09/135034.htm 1 电脑配置及软件说明1) Ubuntu 16.04 x64系统,GPU:Quadro ...
2019-01-09 15:26:42
12002
1
原创 编译caffe问题集(零)
1.编译caffe出现:src/caffe/net.cpp:9:18: fatal error: hdf5.h: No such file or directory compilation termina修改Makefile.config文件中这两行,改成:# Whatever else you find you need goes here.INCLUDE_DIRS := $(P...
2019-01-09 11:32:10
611
原创 关于np.newaxis的使用规律
之前一直困惑np.newaxis的用法,每次遇到都一脸懵逼,网上特有不少博客对它的解释,不过大多都是举一些例子,乍一看还是不知所云,摸不着规律博客https://blog.csdn.net/lanchunhui/article/details/49725065 中提到,np.newaxis与None等价,作用就是为numpy数组增加一个轴来改变数组维度import numpy as np...
2019-01-07 17:03:05
262
2
原创 NumPy学习总结(一)
1、NumPy 从数值范围创建数组这一章节我们将学习如何从数值范围创建数组。numpy.arangenumpy 包中的使用 arange 函数创建数值范围并返回 ndarray 对象,函数格式如下:numpy.arange(start, stop, step, dtype)根据 start 与 stop 指定的范围以及 step 设定的步长,生成一个 ndarray。参数...
2019-01-07 15:45:58
202
转载 使用Numpy和Scipy处理图像
Image manipulation and processing using Numpy and Scipy翻译自:http://scipy-lectures.github.com/advanced/image_processing/index.html作者:Emmanuelle Gouillart, Gaël Varoquaux图像 = 2-D 数值数组(或者 3-D: CT...
2019-01-07 10:30:57
374
转载 python skimage图像处理(一)
本文转自 python数字图像处理skimage的安装pip install -U scikit-image skimage即是Scikit-Image。基于python脚本语言开发的数字图片处理包,比如PIL,Pillow, opencv, scikit-image等。Python Imaging Library(PIL)和Pillow只提供最基础的数字图像处理,...
2019-01-07 10:20:42
2303
2
转载 IT行业都有哪些职位
原文链接:https://www.zhihu.com/question/36991788/answer/69902291互联网行业的薪资水准相对较高,刚入行一个月,半年,或者一年超过其他行业薪资很正常。 那么,互联网行业究竟有哪些职位呢,又分别适合哪些传统行业转型? -----------------------------------------------------------...
2018-12-22 15:08:57
8545
6
转载 java、php、.net关于web开发的区别
一提到web开发,目前在世界上流行性的三个帮派就是php,java和asp.net,这个世界上的百分之99的网站或者类似的应用都是由这三种语言的开发,这里请原谅我忽视某些小众语言如python之类。三种语言经过长达十几甚至二十多年的发展形成自己的生态圈,生态圈里面的世界千姿百态,生态圈外面的世界大漠黄沙、寒风凌厉。所以不管你是准备进入web开发的新人还是准备转型其它生态系统的老鸟,这篇文章都能给你...
2018-12-21 11:18:42
589
2
转载 终于有人把云计算、大数据和人工智能讲明白了!
今天跟大家讲讲云计算、大数据和人工智能。为什么讲这三个东西呢?因为这三个东西现在非常火,并且它们之间好像互相有关系:一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提云计算……感觉三者之间相辅相成又不可分割。但如果是非技术的人员,就可能比较难理解这三者之间的相互关系,所以有必要解释一下。 一、云计算最初的目标 我们首先来说云计算。云计算最初的目标是对资...
2018-12-20 15:27:02
668
转载 Java和android的就业前景哪个好?
关于Java和Android的就业前景有好多人想了解,想入行,在这两个方面是很难抉择的,因为Java是一个永远不会落伍的语言,自出现以来就稳居编程语言榜的榜首;而Android这几年又是前景一片大好。该怎么选择呢?来听听千锋小编的分析吧!从Java的应用领域来分,Java语言的应用方向主要表现在以下三个方面:首先是大中型的商业应用;其次是桌面应用,就是常说的C/S应用;再次是移动领域应用。综上...
2018-12-19 20:29:55
440
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人