python
文章平均质量分 93
This is bill
这个作者很懒,什么都没留下…
展开
-
[work] python 文件夹遍历
Last Updated:Wednesday 14thAugust 2013When you use a scripting language like Python, one thing you will find yourself doing over and over again is walking a directory tree, and processing files. W...原创 2020-02-10 19:54:28 · 1507 阅读 · 0 评论 -
Python图表绘制:matplotlib绘图库入门
详见:http://www.cnblogs.com/wei-li/archive/2012/05/23/2506940.htmlmatplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘转载 2017-09-17 16:00:00 · 981 阅读 · 0 评论 -
ipynb--->py
原创 2017-11-13 19:47:25 · 518 阅读 · 0 评论 -
[work]pytorch win10 安装
创建虚拟环境conda create -n pytorch python=3.5 numpy pyyaml mkl原创 2017-12-31 19:03:49 · 676 阅读 · 0 评论 -
Linux local 安装 + anaconda py3
0x00 文章来由要装pytorch,实验室server没有权限安装,于是用local安装0x01 安装anaconda3一般来说 ignore the sudo prefix 就可以了,直接 follow 这个教程:http://blog.csdn.net/horcham/article/details/57075388安装结束后,anaconda有指导如何添加 path...原创 2018-01-05 17:42:50 · 621 阅读 · 0 评论 -
Python中list,tuple,dict,set的区别和用法
Python语言简洁明了,可以用较少的代码实现同样的功能。这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set。这里对他们进行一个简明的总结。 List字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:L = [12, 'China', 19.998]可以看到并不要求元素的类型都是...转载 2018-08-30 09:12:33 · 746 阅读 · 0 评论 -
Anaconda环境的创建/激活/删除/管理
Anaconda环境的创建 conda create -n py3 python=3.5其中py3表示创建环境的名字,后面python=3.5表示创建的版本。conda create -n py3 python=3.5 numpy pandas这个是在创建环境的时候同时安装包Anaconda环境的激活在 OSX/Linux 上source activate py3...转载 2018-09-14 09:17:17 · 1170 阅读 · 2 评论 -
python 类的私有属性和方法
类的私有属性:__private_attrs:两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs。1 2类的方法:在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数1类的私有方法 :__private_method:两个下...转载 2018-09-19 12:45:05 · 367 阅读 · 0 评论 -
[work] python从字符串中提取所有数字到list
使用正则表达式,用法如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 ## 总结 ## ^ 匹配字符串的开始。 ## $ 匹配字符串的结尾。 ## \b 匹配一个单词的边界。 ...转载 2018-10-11 11:38:07 · 6244 阅读 · 0 评论 -
[work] matplotlib折线图
相关参考资料:matplotlib官方文档:http://matplotlib.org/api/pyplot_summary.html (api的调用及一些示例代码) 一个中文版的文档(不全):http://old.sebug.net/paper/books/scipydoc/matplotlib_intro.html matplotlib较详细的剖析:http://www....转载 2018-10-11 12:18:45 · 235 阅读 · 0 评论 -
[work] python 向数据中添加高斯噪声
什么是高斯噪声高斯噪声既是符合高斯正态分布的误差。一些情况下我们需要向标准数据中加入合适的高斯噪声会让数据变得有一定误差而具有实验价值。高斯噪声还有一些其他用途但是我不太了解,这里我是为了实现多项式拟合正弦曲线,生成数据时,采用了添加高斯噪声的方法。添加高斯噪声实际上python的random库中集成了高斯正态分布,可以直接使用(越来越爱python了)。 一般我们都选择0作为高斯噪...转载 2018-09-28 14:11:19 · 15580 阅读 · 3 评论 -
[work] Conda环境克隆
做科学计算的同学可能有时候会用到Anaconda这个东西,尤其是在一台新的服务器上配置环境的时候非常快速有效。那么问题来了,有时候我们会遇到这样一个场景。我已经在A服务器上配置好了一套我的conda环境,但是我现在又多出来了几台服务器,我想配置一模一样的,又不想一个一个包地重装一遍,能不能conda的环境直接移植到新的计算机上呢?答案肯定是能的。只是中文的网站资料上基本没人提过这个东西...转载 2018-10-15 11:29:43 · 379 阅读 · 0 评论 -
[work] Conda Managing environments
Managing environmentsCreating an environment with commands Creating an environment from an environment.yml file Cloning an environment Building identical conda environments Activating an environ...转载 2018-10-15 11:25:44 · 557 阅读 · 0 评论 -
Python:用Numpy来实现向量的各种运算
首先要写上这一句:from numpy import *(写上这句的前提也得你已经安了numpy)(1) 定义一个零向量(4维):>>>a=zeros(4)>>>aarray([0.,0.,0.,0.])定义一个List:b=[1,2,3,4](2)向量可直接与List相加:>>>c=a+b>&...转载 2018-09-30 10:17:18 · 9273 阅读 · 0 评论 -
[work] Numpy之random.randint产生随机整数
方法numpy.random.randint(low, high=None, size=None, dtype='l')参数这个方法产生离散均匀分布的整数,这些整数大于等于low,小于high。low : int 产生随机数的最小值high : int, optional 给随机数设置个上限,即产生的随机数必须小于highsize : int or tuple of ints, ...转载 2018-11-06 11:40:21 · 513 阅读 · 0 评论 -
Python list 底层实现
本文将介绍列表在 CPython中的实现,因为毕竟Cpython 又是 Python 最为常用的实现。Python 中的列表非常强大,看看它的内部实现机制是怎么样的,一定非常有趣。下面是一段 Python 脚本,在列表中添加几个整数,然后打印列表。Python 1 2 3 4 5 6 7 8 9 ...转载 2018-11-06 11:43:24 · 2143 阅读 · 0 评论 -
[work] python中sort和sorted函数
之一:在学习python的过程中,感觉python中的排序相和c++中的泛型算法还是比较相似的,但相对于c++而言更加简单易用。python中列表的内置函数sort()可以对列表中的元素进行排序,而全局性的sorted()函数则对所有可迭代的序列都是适用的;并且sort()函数是内置函数,会改变当前对象,而sorted()函数只会返回一个排序后的当前对象的副本,而不会改变当前对象。1、...转载 2018-11-06 15:17:32 · 511 阅读 · 0 评论 -
[work] Python字典dict转换为列表list
说明:列表不可以转换为字典①转换后的列表为无序列表a = {'a' : 1, 'b': 2, 'c' : 3}#字典中的key转换为列表key_value = list(a.keys())print('字典中的key转换为列表:', key_value)#字典中的value转换为列表value_list = list(a.values())print('字典中的value转...转载 2018-11-06 15:18:22 · 15897 阅读 · 0 评论 -
[work] Python将多个list合并为1个list
1. 可以使用"+"号完成操作输出为:[1, 2, 3, 8, 'google', 'com']2.使用extend方法、输入相同3使用切片输出相同PS:len(l1)代表要将l2插入l1中的位置例如输出为:又如:输出为:总结:第一种方方法思路比较清晰,就是运算符的重载;第二种方法比较简洁,但会覆盖原始list;第三种方法功能比较强大,可以将一...转载 2018-11-04 14:53:30 · 726 阅读 · 0 评论 -
[work] Python 去除 list 中重复的元素
比较容易记忆的是用内置的setl1 = ['b','c','d','b','c','a','a']l2 = list(set(l1))print l2 还有一种据说速度更快的,没测试过两者的速度差别l1 = ['b','c','d','b','c','a','a']l2 = {}.fromkeys(l1).keys()print l2 这两种都有个缺点,祛除重复元素...转载 2018-11-02 14:37:15 · 470 阅读 · 0 评论 -
[work] Linux Shell 1>/dev/null 2>&1 含义
shell中可能经常能看到:echo log > /dev/null 2>&1命令的结果可以通过%>的形式来定义输出/dev/null :代表空设备文件> :代表重定向到哪里,例如:echo "123" > /home/123.txt1 :表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/转载 2018-11-08 10:51:59 · 352 阅读 · 0 评论 -
[work] numpy中比较两个矩阵是否相同
最近在码代码时想判断两个矩阵是否完全相同(每个元素都相同),于是我这样写了: 发现用==判断只能返回一个判断矩阵,表示其中每一个元素是否对应相等。 于是我用度娘查了查,应该这么写: 如果两个矩阵中的所有元素对应相等,则返回True,反之返回False。如果判断两个矩阵中是否有相等的元素,有任何一个相等就行,这种情况就可以用.any(),如下: --...转载 2018-11-14 09:39:47 · 9839 阅读 · 1 评论 -
NumPy 创建数组
NumPy 创建数组ndarray 数组除了可以使用底层 ndarray 构造器来创建外,也可以通过以下几种方式来创建。numpy.emptynumpy.empty 方法用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组:numpy.empty(shape, dtype = float, order = 'C')参数说明:参数 描述 sh...转载 2018-11-14 15:56:10 · 441 阅读 · 0 评论 -
numpy方法类推tensorflow
一、数组方法创建数组:arange()创建一维数组;array()创建一维或多维数组,其参数是类似于数组的对象,如列表等反过来转换则可以使用numpy.ndarray.tolist()函数,如a.tolist()创建数组:np.zeros((2,3)),或者np.ones((2,3)),参数是一个元组分别表示行数和列数对应元素相乘,a * b,得到一个新的矩阵,形状要一致;但是允...转载 2018-11-19 13:31:57 · 359 阅读 · 0 评论 -
通过一个一维vector拿到tensor对应元素
我的需求是有一个15*4的tensor, 有一个15*1的index vector, 希望从tensor里面拿到对应的15*1的vector查了半天gather未果, 因为gather()只能拿一个slicegather_nd也不是很好的解决方法, 不过可以实现, 需要把index变成一个15*2的数组, 来specify原tensor的元素 后来看到用one hot可以解决, r...原创 2018-11-19 13:36:42 · 1453 阅读 · 0 评论 -
np.random.choice的用法
import numpy as np# 参数意思分别 是从a 中以概率P,随机选择3个, p没有指定的时候相当于是一致的分布a1 = np.random.choice(a=5, size=3, replace=False, p=None)print(a1)# 非一致的分布,会以多少的概率提出来a2 = np.random.choice(a=5, size=3, replace=Fals...转载 2018-11-19 14:06:21 · 708 阅读 · 0 评论 -
np.random.choice:概率不等于1
这是一个known issue与numpy。使用给定的容差为概率之和随机选择功能检查(here the source)的解决方案是通过将它们除以它们的总和如果总和是足够接近1实施例归一化的概率:>>> p=[ 1.42836755e-01, 1.42836735e-01 , 1.42836735e-01, 1.42836735e-01 , 4.76122449e-...转载 2018-11-19 15:06:26 · 5326 阅读 · 0 评论 -
ndarray 与 scipy.sparse.csr.csr_matrix 的互转
ndarry 转 csr_matrix>>> import numpy as np>>> import scipy.sparse>>> my_matrix = scipy.sparse.csr_matrix((2,2))>>> my_array = my_matrix.A>>> type(原创 2018-11-29 12:04:43 · 20571 阅读 · 5 评论 -
[work] 验证pytorch gpu正确安装
This is going to work :In [1]: import torchIn [2]: torch.cuda.current_device()Out[2]: 0In [3]: torch.cuda.device(0)Out[3]: <torch.cuda.device at 0x7efce0b03be0>In [4]: torch.cuda.devi...转载 2018-12-04 13:34:15 · 4323 阅读 · 0 评论 -
[work] pytorch中的cat、stack、tranpose、permute、unsqeeze
Cat对数据沿着某一维度进行拼接。cat后数据的总维数不变.比如下面代码对两个2维tensor(分别为2*3,1*3)进行拼接,拼接完后变为3*3还是2维的tensor。import torchtorch.manual_seed(1)x = torch.randn(2,3)y = torch.randn(1,3)print(x,y)结果:0.6614 0....转载 2018-11-27 08:50:19 · 401 阅读 · 0 评论 -
Broadcasting
See alsonumpy.broadcastThe term broadcasting describes how numpy treats arrays with different shapes during arithmetic operations. Subject to certain constraints, the smaller array is “broadcast” ...转载 2018-11-27 08:52:40 · 369 阅读 · 0 评论 -
[work] ubuntu 16.04 安装CuDnn
实验室服务器安装了cuda之后,需要安装cudnn加速,安装记录如下:下载对应cuda版本的cudnn,需要注册Nvidia开发者账号。NVIDIA cuDNN下载地址 解压:tar zxvf cudnn-8.0-linux-x64-v5.1.tgz 看到如下目录:cudnn.jpg3.cuda的安装目录通过which nvcc 查看 nvcc.jpgcuda安...转载 2018-12-04 19:40:59 · 297 阅读 · 0 评论 -
wh常用命令
0x01 查看显卡spci | grep -i vga0x02 查看系统版本cat /proc/version uname -a0x03 查看NVIDIA 显卡nvidia-smi0x04 查看CUDA版本nvcc -V0x05 不断刷新一个命令watch0x06 查找一个命令which0x07 docker使用ref...原创 2018-04-03 09:14:07 · 4343 阅读 · 3 评论 -
[work] 最爽的GPU深度学习环境搭建教程
背景介绍GPU 在以下方面有别于 CPU:CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时逻辑判断又会引入大量的分支、跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。上图中,绿色的部分是计算单元(AL...转载 2018-11-27 13:02:00 · 1658 阅读 · 0 评论 -
ubuntu下tensorflow的环境搭建
ubuntu下tensorflow的环境搭建 官网参考文档地址:https://www.tensorflow.org/install/,由于博主用的是ubuntu 14.04,因此以Ubuntu为例,进行说明,其他OS请参考上面给出的链接。 提示:最好别用windows,后面会有很多的兼容问题 安装的方式也有好几种,通过pip,docker,Anacodnda等,因为u...转载 2018-11-27 13:04:37 · 511 阅读 · 0 评论 -
[work] 如何将pandas的Int64Index转换成int
Convert class 'pandas.indexes.numeric.Int64Index' to numpy今天上午遇到的一个问题, pd的这种类型不能用于索引行数使用 rows = df.index.values当然, 这得到的是一个ndarray, 因为我只是一个数的array, 直接取[0]就可以了得到那个数了...原创 2018-12-03 08:00:00 · 14890 阅读 · 0 评论 -
[work] pandas DataFrame 修改单个数据
DataFrame每一行数据相当于一个Series,其index是DataFrame的columns是属性。>>> import pandas as pd>>> import numpy as np>>> df = pd.DataFrame(np.arange(12).reshape(3,4), columns=[chr(i) ...转载 2018-12-03 08:01:00 · 4284 阅读 · 1 评论 -
[work] pandas--如何得到某一个值所在的行
以前一直纠结这个问题,遍历一遍所有的似乎太麻烦了,今天看pandas cookbook,有简单的方法df[df['列名'].isin([相应的值])]这句代码会输出等于该值的行的DataFrame但是这样还得不到想要的值后面再加.index.values[0]即可...原创 2018-12-03 08:03:25 · 9033 阅读 · 1 评论 -
[work] 在pandas中遍历DataFrame行
有如下 Pandas DataFrame: import pandas as pd inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}] df = pd.DataFrame(inp) print df 上面代码输出: c1 c2 0 10 1...转载 2018-12-03 08:04:33 · 637 阅读 · 1 评论 -
python写入csv文件的几种方法总结
最常用的一种方法,利用pandas包import pandas as pd#任意的多组列表a = [1,2,3]b = [4,5,6] #字典中的key值即为csv中列名dataframe = pd.DataFrame({'a_name':a,'b_name':b})#将DataFrame存储为csv,index表示是否显示行名,default=Truedatafra...转载 2018-12-03 08:05:13 · 4669 阅读 · 1 评论