如果是非官方的packages,不能直接使用pip工具自动下载安装
pip install package文件名称.whl
安装pip install numpy-1.11.1+mkl-cp27-cp27m-win_amd64.whl
,如下图所示,成功安装了numpy+mkl numpy-1.11.1+mkl.dist-info
,numpy+mkl安装成功 from numpy._distributor_init import NUMPY_MKL # requires numpy+mkl
成功,说明MKL安装成功numpy with Intel Math Kernel Library
,即在import scipy
的时候,需要调用`from numpy._distributor_init import NUMPY_MKL
Unofficial Windows Binaries for Python Extension Packages提供了一些windows-python-packages;全部都是.whl格式(python压缩文件格式)
下面记录平时用到的各种包的安装
利用Anaconda安装python后,想要安装opencv-python,但发现利用opencv-python的官方教程,没法实现opencv的安装
还好看到了另外一篇博客的方法,试一下,果然凑效
即:直接在cmd命令行输入:conda install –channel https://conda.anaconda.org/menpo opencv3
然后,根据提示输入y即可
安装完成后,测试opencv是否安装成功
进入python环境,输入如下命令
import cv2
cv2.__version__
关于MKL的介绍可以参考mkl相关介绍
如果需要安装scipy,先决条件就是安装numpy和mkl,所以,网上找到的MKL的资源都是与numpy绑定在一起的,具体下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/
该package主要是与leveldb文件的相关操作有关,按照官网推荐的方法:
pip install leveldb
悲剧的是:出错了,不知道是不是因为我的系统是windows的原因
解决:实在找不到可用的办法,最有只能用别人编译好的 leveldb.pyd文件,将它拷贝到python的Lib\site-packages
文件夹下即可
使用
import cv2
时会出现这个问题
题外话:关于import cv
,import cv2
,pyopencv
参考:http://stackoverflow.com/questions/10417108/what-is-different-between-all-these-opencv-python-interfaces
OpenCV发布两种不同版本的python接口:cv and cv2
cv
ROI=array[c1:c2,r1:r2]
img1+img2
总之,v2要优于cv
pyopencv:不是很清楚,反之使用的也不多
在使用cv2读取图像,并利用shape获取图像形状时,得到如下的错误信息:
原来是因为img没有读到任何内容!并不是cv2的版本中没有图像的shape函数!图像后缀用错了,改为1.bmp
,顺利通过
改为from PIL import Image
改为from PIL import ImageOps
python错误信息汇集
安装完pydot后,发现上面错误消失了,但又出现了关于pyparsing的错误,这是因为pydot是依赖于1.X版本的pyparsing的,但目前的pyparsing为2.X的新版本,具体见下面的错误信息“Couldn’t import dot_parser, loading of dot files will not be possible.”
这是dot_parser所依赖模块pyparsing从1.x升级到2.x的变化造成的,安装1.x的旧版本解决这个问题,所以,安装回旧的版本的pyparsing就可以了,利用pip install pyparsing==1.5.7
问题出现
最近在windows7上利用pycaffe的draw_net.py
进行.prototxt
网络结构配置文件的绘图,结果出现了如下错误:
InvocationException: GraphViz’s executables not found
经过各种google,总算找到了解决办法,原来,GraphViz是一个软件(好吧,请原来我的无知),可以下载安装,我这里之所以出现这个错误,可能是两个原因导致的
bin
目录加入到环境变量PATH
中,所以,其他应用程序无法找到它仔细想想,自己之前好像确实没有安装过它,所以,果断判断为是第一个原因,下面开始安装GraphViz
安装Graphviz
下载Graphviz
解压缩文件,文件下载完成后,将它解压到某一路径下,例如,我将它解压到了D:\software\caffe-vs\graphviz-2.38
,下图展示了解压后的文件结构,可以看到,解压后的文件中只包含一个Release文件夹
添加环境变量
PATH
中,这样,其他程序便可以找到graphviz了D:\software\caffe-vs\graphviz-2.38\release\bin
添加到环境变量PATH
中重启python IDE
完成上述所有操作后,重启python IDE,发现draw_net.py
终于可以使用了!注:下面是’draw_net.py’的代码,来自于’caffe/python/draw_net.py’
使用方法:
‘draw_net.py’使用方法(在cmd中输入如下命令)
python /caffe_root/python/draw_net.py file.prototxt file.jpg
#!/usr/bin/env python
"""
Draw a graph of the net architecture.
"""
from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
from google.protobuf import text_format
import caffe
import caffe.draw
from caffe.proto import caffe_pb2
def parse_args():
"""Parse input arguments
"""
parser = ArgumentParser(description=__doc__,
formatter_class=ArgumentDefaultsHelpFormatter)
parser.add_argument('input_net_proto_file',
help='Input network prototxt file')
parser.add_argument('output_image_file',
help='Output image file')
parser.add_argument('--rankdir',
help=('One of TB (top-bottom, i.e., vertical), '
'RL (right-left, i.e., horizontal), or another '
'valid dot option; see '
'http://www.graphviz.org/doc/info/'
'attrs.html#k:rankdir'),
default='LR')
args = parser.parse_args()
return args
def main():
args = parse_args()
net = caffe_pb2.NetParameter()
text_format.Merge(open(args.input_net_proto_file).read(), net)
print('Drawing net to %s' % args.output_image_file)
caffe.draw.draw_net_to_file(net, args.output_image_file, args.rankdir)
if __name__ == '__main__':
main()
因为没有安装google的protobuf,具体参考《windows7+visual studio 2013+CUDA7.5 编译caffe+配置matcaffe+配置pycaffe》
# 与数据集相关的路径
imgType = 'Adjust'
dataset_root = 'F:\BUAA\DeepLearning\dataset\data\imgData/'+imgType+'\'
print "dataset_root:",dataset_root
出现错误
unexpected character after line continuation character
原因:用错了反斜杠“\”,一般反斜杠用于转义
解决:反斜杠改为”/”即可
# 与数据集相关的路径
imgType = 'Adjust'
dataset_root = 'F:/BUAA/DeepLearning/dataset/data/imgData/'+imgType+'/'
print "dataset_root:",dataset_root