
Python
鹊踏枝-码农
专业码农20年-河畔青芜堤上柳,为问新愁,何事年年有?独立小桥风满袖,平林新月人归后。
展开
-
深度学习库Theano导入mnist数据库
针对很多人在学习Theano深度学习库时,遇到无法导入mnist数据库问题,在此给出一种解决方法。具体出现的问题及解决方案如下图所示:成功导入MNIST数据的代码,加入了encoding='bytes',因为,在Python下,数据均是按字节存储的。原创 2016-11-07 22:20:52 · 1391 阅读 · 0 评论 -
Win7下安装Anaconda,把Anaconda加入开始菜单
本人安装的最新版的Anaconda,默认版本Python3.6,因项目需要,需要安装Python3.5,于是乎重新安装Anaconda版本,默认Python版本为Python3.5。安装后发现在开始菜单中Anaconda3把Anaconda(Python3.6)覆盖了,但是本人也需要Python3.6。于是乎在完成项目后想恢复Python3.6,但是开始菜单里已经找不到了。在控制面板里也找不到。于原创 2018-04-09 20:10:42 · 4261 阅读 · 2 评论 -
关于win7下编译pyx文件生成pyd文件供Python调用
在运行python程序的时候,会发现有些模块不是用Python语言编写的,而是用C/C++编写的,主要是考虑到C/C++编写的模块相对Python脚本语言编写的模块执行速度更快。那么在调用这些由C/C++编写的Python模块,需要一个编译过程,把pyx文件编译为pyd文件供Python调用。.pyx 文件是由 Cython 编程语言 "编写" 而成的 Python 扩展模块源代码文件。.pyx ...原创 2018-07-10 21:53:33 · 6407 阅读 · 1 评论 -
关于运行Python脚本命令行参数传递
在运行Python脚本的时候,需要的参数没有传入的时候就会报错,而又不知道怎么传入。如下参数解析函数就会检查是否按要求传入了所需的参数。如下所示:def parse_args(): parser = argparse.ArgumentParser(description='Convert dataset') # parser.add_argument( # '--d...原创 2018-07-10 22:36:23 · 1915 阅读 · 0 评论 -
关于Python下利用json将数据写入文件
本人是在win7 64位系统,利用Anaconda安装的Python3.6环境下进行的相关测试。我们经常会遇到有些官方release的代码我们无法运行或出错,一方面是因为一些相关路径需要根据自己的机器进行设置;另一方面就是操作系统的问题,比如一些依赖库和编解码的问题,这个在有些系统中是默认安装的,有些或是不兼容等,而有些人在release代码的时候从交代自己的开发环境,如Python版本,操作系统...原创 2018-07-11 10:09:41 · 3491 阅读 · 0 评论 -
关于Keras的格式化输出Loss实现
在win7 64位,Anaconda安装的Python3.6.1下安装的TensorFlow与Keras,Keras的backend为TensorFlow。在运行Mask R-CNN时,在进行调试时想知道PyCharm (Python IDE)底部窗口输出的Loss格式是在哪里定义的,如下图红框中所示: ...原创 2018-07-17 22:12:48 · 9248 阅读 · 4 评论 -
关于np.stack函数
在Python中,经常会用到关于数组的堆叠,如np.stack函数就是一个用于numpy数组堆叠的函数,关于该函数的用法,大都是给出了示例,而没有分析其中原理,下面会举例关于np.stack函数的用法,示例和原理。np.stack函数的调用方式:import numpy as npnp.stack(arrays,axis)下面给出一个具体的示例如下:a = np.array([[1,2,3,4]...原创 2018-07-15 22:34:55 · 9819 阅读 · 2 评论 -
Boost::Python的安装与调用教程
Boost::Python库是pyhon和c++相互交互的框架,可以在Python中调用C++的类和方法,也可以让C++调用Python的类和方法。Python自身提供了一个Python/C++ API用来实现Python和C++的交互。Boost::Python是Python/C++ API的包装,所以用起来更简单一些。Python对一个动态类型的语言,C++是一个静态类型的语言,对于P...原创 2018-10-18 11:51:28 · 21653 阅读 · 0 评论 -
关于Numpy中的ZeroDivisionError
在Numpy中关于计算式中除数为零或被除数为零给出的错误提示有些有误导性,下面是关于在np.log中关于表达式中除数为零或被除数为零给出的错误提示,如下:由上可以看出,在np.log中当被除数为零时,给出的错误提示为“RuntimeWarning: divide by zero encountered in log”,而当除数为零时,给出的错误提示为“ZeroDivisionError: ...原创 2018-10-30 10:22:44 · 6069 阅读 · 1 评论 -
Python之np.squeeze()
import matplotlib.pyplot as pltimport numpy as npx = np.linspace(0, 100, 50)y = np.random.randn(1, 50)plt.plot(x, y)如上代码报错为:“ValueError: x and y must have same first dimension, but have shapes...原创 2018-11-14 09:23:08 · 5522 阅读 · 0 评论 -
Python学习笔记之array
ArrayThis module defines an object type which can compactly represent an array ofbasic values: characters, integers, floating point numbers. Arrays are sequencetypes and behave very much like list原创 2018-03-04 10:20:05 · 450 阅读 · 0 评论 -
Python学习笔记之namedtuple()
namedtuple()是产生具有命名字段的元组的工厂函数。命名元组赋予元组中每个位置的意义,并更易读、代码更易维护。它们可以使用在通常元组使用的地方,并添加了通过名称访问字段的能力,而不是位置索引。namedtuple()调用方式如下:collections.namedtuple(typename, field_names, *, verbose=False, rename=False,原创 2018-03-04 15:22:43 · 5197 阅读 · 0 评论 -
Python格式字符串语法--Format String Syntax
Format String SyntaxThe str.format() method and theFormatter class share the samesyntax for format strings (although in the case ofFormatter,subclasses can define their own format string原创 2018-03-03 10:10:53 · 1164 阅读 · 0 评论 -
在OpenCV3中SIFT,SURF等算法去哪了?
本人是在Windows 7下Anaconda 4.4配置的OpenCV,Python版本是3.6.1,如下图所示:利用pip install opencv_python-3.3.0-cp36-cp36m-win_amd64.whl 进行安装,安装成功,import cv2没出错,但是在进行 detector=cv2.SIFT()时显示错误:AttributeError: modul原创 2017-09-25 08:38:52 · 25849 阅读 · 9 评论 -
NumPy教程之(一)
NumPy是Python下用于科学计算的基本软件包,它是Python下用于提供多维数组对象的库,很多对象(比如矢量和矩阵)均派生自多维数组,并且提供了各种各样的运算,比如数学运算,掩膜运算,逻辑运算,选择,排序,离散傅里叶变换,线性代数等。其中,NumPy软件包的核心是ndarray对象,该对象封装了同类类型数据的多维数组,为了提升运算性能,有些操作运算是采用C/C++等编译语言实现的。NumPy原创 2017-11-09 10:55:29 · 460 阅读 · 0 评论 -
NumPy教程之(二)
在NumPy下可以通过多种方法创建数组,比如你可以通过Python下的元组(tuple)或列表(list),利用array函数进行创建,数组的元素类型可以通过推断得出。如下所示:如果直接给np.array函数传递一组数,而这组数不是以Python元组或列表的形式出现的话,则会报错,如下所示:np.array函数可以把数组的数组转换为二维数组,数组的数组的数组则为三维数组,等原创 2017-11-09 16:38:14 · 654 阅读 · 0 评论 -
NumPy教程之(三)
一. 打印数组当你打印或显示一个数组内的元素时,NumPy通常以类似嵌套列表(list)的形式显示,但是具有一些特别的排列方式:最后一维(dimension or axes)从左到右排列;第二维到最后一维按照由上到下排列;剩下的也按照从上到下排列。看着有点绕,总结一下就是,一维数组按照行排列,二维数组按照矩阵啊劈裂,三维数组按照矩阵列表排列,如下所示:如果一个数组太大的话,原创 2017-11-09 17:14:57 · 320 阅读 · 0 评论 -
Python集成开发环境之Pycharm
Pycharm是Python的跨平台集成开发环境,隶属于JetBrains,是一家捷克的软件开发公司。Python的集成开发环境有很多,比如在安装Anaconda时自带的Spyder,功能有限,调试不方便。Pycharm是专业用于Python程序开发的IDE。目前Pycharm有专业版与社区版两种,专业版收费,社区版免费,功能与专业版差别不大,只是专业版支持一些网页编程和远程调试功能,一般也用不到原创 2017-11-01 20:09:27 · 10521 阅读 · 0 评论 -
if __name__ == '__main__' 如何正确理解?
来源:Python 中的 if __name__ == '__main__' 该如何理解这个问题来自于知乎用户的提问,当时看到这个问题,我只是做了下简单的回答。后来我发现,对于很多人来说,更准确的说应该是大部分的 Python 初学者,对这个问题理解的不是很深刻。所以这里我来做下总结,并试图把这个问题说明白。程序入口对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完转载 2017-11-02 10:57:25 · 455 阅读 · 0 评论 -
Matlab下调用Python接口
MATLAB 到 C 语言程序的转换可以由两种途径完成,其一是 MATLAB 自己提供的 C 语言翻译程序 mcc, 另一种是原第 3 方公司 MathTools 开发的 MATCOM。后者出现较早,功能远比 MATLAB 自己的翻译程序强大,可以直接将Matlab脚本转换为C/C++代码,MathWorks感受到了威胁,找人家谈判,花巨资收购了MathTools 公司,并已将其开发技术融于MAT原创 2017-11-11 11:25:59 · 21900 阅读 · 0 评论 -
NumPy教程之(四)
NumPy针对数组(array)的基本数学操作函数一般是逐元素进行的,比如矩阵的加减运算,线性代数上的矩阵运算则有专门的函数,如dot函数等,具体看示例。>>> a = np.array( [20,30,40,50] )>>> b = np.arange( 4 )>>> barray([0, 1, 2, 3])>>> c = a-b>>> carray([20, 29, 38, 4原创 2017-11-12 15:45:55 · 398 阅读 · 0 评论 -
NumPy教程之(五)
NumPy提供了很多常用的数学函数,这些函数被称为“ufunc”并且调用方式基本上与Matlab没啥差别,但是有一点需要记住,就是NumPy提供的数学运算基本上都是逐元素输入逐元素输出。矩阵运算专门的函数。如下所示:还有很多函数,不能一 一 举例,如下:all, any, apply_along_axis, argmax, argmin, argsort, average,原创 2017-11-12 16:26:18 · 364 阅读 · 0 评论 -
关于Python下空列表,空元组,空字符串,空字典的判断
在Python中,一个空列表,空元组,空字符串,空字典的布尔值为False,但是不是None,具体如下所示:如上所示,Python中判断一个列表是否为空,切不可用是否None来判断,而应该直接判断,如if a,如果a为空列表,则不成立,否则判断条件为真。如果您觉得我的文章对您有所帮助,欢迎扫码进行赞赏!...原创 2019-09-30 19:37:26 · 5077 阅读 · 0 评论