caffe转tensorflow的github地址,但是该仓库年久失修,好久不更新。在pull requests中我找到了这个版本。该版本增加了Python3.6和tensorflow1.10的支持。

将alexnet.prototxt文件(deploy.prototxt)和alexnet_cvgj_iter_320000.caffemodel文件放到caffe-tensorflow文件夹的根目录。

当使用命令./convert.py alexnet.prototxt --code-output-path=zdaiot.py转换的时候

遇到了如下错误:

1
2
Error encountered: Cannot determine dimensions of data layer.
See comments in function shape_data for more info.

解决方法为:

阅读全文 »

对于Anaconda,在Windows下挺好用的;对于Ubuntu下,我觉得使用系统自带的Python2和Python3挺方便的,所以内心一直拒绝详细了解Anaconda,直到最近发现实验室电脑环境乱的简直了。所以乖乖的学习下Anaconda的虚拟环境管理机制。

Anaconda简介与安装

Anaconda是Python的一个开源发行版本,主要面向科学计算。我们可以简单理解为,Anaconda是一个预装了很多我们用的到或用不到的第三方库的Python。而且相比于大家熟悉的pip install命令,Anaconda中增加了conda install命令。当你熟悉了Anaconda以后会发现,conda install会比pip install更方便一些。比如大家经常烦恼的lxml包的问题,在Windows下pip是无法顺利安装的,而conda命令则可以,后面会详细展示。

从国内开源镜像清华源下载Anaconda安装包。

Anaconda的版本分为Anaconda2和Anaconda3,大家可以自行下载日常常用的版本,提供32位和64位下载。但是这个版本只是说明Anaconda自带的Python版本,我们可以使用任何一个版本的Anaconda创建任意一个新的Python环境,例如可以使用Anaconda2创建一个Python3.6的环境,当然也可以使用Anaconda3创建一个新的Python2.7的环境。

阅读全文 »

PIL的基本概念:

PIL中所涉及的基本概念有如下几个:通道(bands)、模式(mode)、尺寸(size)、坐标系统(coordinate system)、调色板(palette)、信息(info)和滤波器(filters)。

通道

每张图片都是由一个或者多个数据通道构成。PIL允许在单张图片中合成相同维数和深度的多个通道。

以RGB图像为例,每张图片都是由三个数据通道构成,分别为R、G和B通道。而对于灰度图像,则只有一个通道。

阅读全文 »

常用地址

ImageNet数据集预训练模型下载地址

输入数据维度报错

1
tensorflow.python.framework.errors_impl.InvalidArgumentError: input must be 4-dimensional[1,1,461,459,3]

考虑是因为数据集中图片存在png、bmp等格式的图片,并不是纯jpg。

阅读全文 »

图片解码

RGB图像存储的时候并不是记录的三维矩阵,而是经过压缩编码的结果,所以要将一副图像还原为一个三维矩阵,需要解码过程。

例如,读取png图像代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 读取原始的图像
image = tf.gfile.FastGFile("/home/jiangziyang/images/duck.png", 'r').read()
with tf.Session() as sess:
# TensorFlow提供了decode_png()函数将.png格式的图像解码从而得到图像对应的三位矩阵
# 函数原型decode_png(contents,channels,dtype,name)
img_after_decode = tf.image.decode_png(image)

# decode_jpeg()函数用于解码.jpeg/.jpg格式的图像,原型
# decode_jpeg(contents,channels,ratio,fancy_upscaling,try_recover_truncated,
# acceptable_fraction,dct_method,name)
# decode_gif()函数用于解码.gif格式的图像,原型
# decode_gif(contents,name)

# encode_jpeg()函数用于编码为.jpeg/.jpg格式的图像,原型
# encode_jpeg(image,format,quality,progressive,optimize_size,chroma_downsampling,
# density_unit,x_density,y_density,xmp_metadata,name)

文件格式

TFRecord格式

阅读全文 »

网上看到一篇文章,感觉不错,复制粘贴到此,并添加一些自己的东西。

本文为译文,原文载于此,译文原载于此。本文欢迎转载,但请保留本段文字,尊重作者和译者的权益。谢谢。: )

介绍

Matplotlib 可能是 Python 2D - 绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。这里将会探索 matplotlib 的常见用法。

IPython 以及 pylab 模式

阅读全文 »

深度学习(神经网络)之所以具备智能,就是因为它具有反馈机制。深度学习具有一套对输出所做的评价函数(损失函数),损失函数在对神经网络做出评价后,会通过某种方式(梯度下降法)更新网络的组成参数,以期望系统得到更好的输出数据。

由此可见,神经网络的系统主要由以下几个方面组成:

  • 输入
  • 系统本身(神经网络结构),以及涉及到系统本身构建的问题:如网络构建方式、网络执行方式、变量维护、模型存储和恢复等等问题
  • 损失函数
  • 反馈方式:训练方式

定义好以上的组成部分,我们就可以用流程化的方式将其组合起来,让系统对输入进行学习,调整参数。因为该系统的反馈机制,所以,组成的方式肯定需要循环。

阅读全文 »

安装ftp

1
2
3
4
5
6
sudo apt-get install vsftpd # 安装
service vsftpd start # 启动
sudo mkdir /yourftpdir # 新建yourftpdir目录
sudo useradd -d /yourftpdir uftp # 新建用户uftp, -d指令表示指定用户登入时的起始目录, 也就是home目录
sudo passwd uftp # 设置密码
sudo chown uftp:uftp /yourftpdir # 更改目录所有者及组

使用ps -ef | grep ftp可以查看vsftpd是否开启了。

另外,这里不一定需要新建用户,只需要将现有用户添加到/etc/vsftpd.chroot_list即可。

sudo gedit /etc/vsftpd.chroot_list文件中添加可以访问ftp目录的其它用户

1
uftp
阅读全文 »

安装

windows

1
pip install PyQt5

但是安装完毕会出现ImportError: DLL load failed: 找不到指定的模块的错误提示,这是因为通过Anaconda安装的Python缺少了python3.dll,可以通过去python.org下载相应的 Windows x86-64 embeddable zip file压缩文件,从中拷贝python3.dll文件,粘贴到Anaconda安装目录下,也就是python36.dll所在的目录下,一般就是第一层目录,例如我这里就是D:\Anaconda3目录下

Qt Designer的使用

阅读全文 »

函数的极限

函数极限的定义

自变量趋于有限值时函数的极限

定义:设函数$f(x)$在点$x_0$的某个去心邻域内有定义,若$\forall \varepsilon > 0, \exists \delta > 0$,当$0 < |x - x_0| < \delta时,有|f(x) - A| < \varepsilon$,则称常数$A$为函数$f(x)$ 当$x \longrightarrow x_0$时的极限,记作 $\lim_{x \rightarrow x_0}f(x) = A$ 或$f(x) \rightarrow A(当x \rightarrow x_0)$。

上面定义可以简写为:

阅读全文 »