什么是TensorFlow? 

TensorFlow是Google开发的一款神经网络的Python外部的结构包, 也是一个采用数据流图来进行数值计算的开源软件库.TensorFlow 让我们可以先绘制计算结构图, 也可以称是一系列可人机交互的计算操作, 然后把编辑好的Python文件 转换成 更高效的C++, 并在后端进行计算.

为什么要使用TensorFlow?

TensorFlow 无可厚非地能被认定为 神经网络中最好用的库之一. 它擅长的任务就是训练深度神经网络.通过使用TensorFlow我们就可以快速的入门神经网络, 大大降低了深度学习(也就是深度神经网络)的开发成本和开发难度. TensorFlow 的开源性, 让所有人都能使用并且维护, 巩固它. 使它能迅速更新, 提升.

在开始之前, 让我们先看一段使用 Python API 撰写的 TensorFlow 示例代码, 让你对将要学习的内容有初步的印象.

这段很短的 Python 程序生成了一些三维数据, 然后用一个平面拟合它.

import tensorflow as tf
import numpy as np # 使用 NumPy 生成假数据(phony data), 总共 100 个点.
x_data = np.float32(np.random.rand(2, 100)) # 随机输入
y_data = np.dot([0.100, 0.200], x_data) + 0.300 # 构造一个线性模型
#
b = tf.Variable(tf.zeros([1]))
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b # 最小化方差
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss) # 初始化变量
init = tf.initialize_all_variables() # 启动图 (graph)
sess = tf.Session()
sess.run(init) # 拟合平面
for step in xrange(0, 201):
sess.run(train)
if step % 20 == 0:
print step, sess.run(W), sess.run(b) # 得到最佳拟合结果 W: [[0.100 0.200]], b: [0.300]

Window 平台安装 Python:

  • 打开WEB浏览器访问http://www.python.org/download/
  • 在下载列表中选择Window平台安装包,包格式为:python-XYZ.msi 文件 , XYZ 为你要安装的版本号。
  • 要使用安装程序 python-XYZ.msi, Windows系统必须支持Microsoft Installer 2.0搭配使用。只要保存安装文件到本地计算机,然后运行它,看看你的机器支持MSI。Windows XP和更高版本已经有MSI,很多老机器也可以安装MSI。
  • 下载后,双击下载包,进入Python安装向导,安装非常简单,你只需要使用默认的设置一直点击"下一步"直到安装完成即可。

在安装完成之后,打开控制台,输入“Python”,如果看到:python不是内部外部命令,这时候需要设置环境变量:

原因很简单,是因为python.exe文件在 Python 目录下,我们还没有设置环境变量。所以我们需要手动添加环境变量:鼠标右键我的电脑  -> 属性 -> 点击高级系统设置 -> 点击环境变量 -> 点击PATH -> 在最后面加上我们的Python安装路径 -> 点击确定。

安装pip

Pip 是一个 Python 的软件包安装与管理工具.首先安装 pip (或 Python3 的 pip3 ):

我们同样需要在Python的官网上去下载,下载地址是:https://pypi.python.org/pypi/pip#downloads

下载完成之后,解压到一个文件夹,用CMD控制台进入解压目录,输入:

python setup.py install
安装好之后,我们直接在命令行输入pip,同样会显示‘pip’不是内部命令,也不是可运行的程序。因为我们还没有添加环境变量。
按照之前介绍的添加环境变量的方法,我们在PATH最后添加:C:\Python34\Scripts;
到现在我们才算完整安装好了pip:

安装 TensorFlow

在cmd命令窗口,直接运行:
pip install tensorflow (使用CPU)
或者

pip install tensorflow-gpu (如果你的系统有GPU并希望使用)

结果我的计算机失败,在网上找到解决方法:执行以下命令:

pip3 install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.0.0-py3-none-any.whl

Docker安装TensorFlow



直接打开Kitematic,搜索tensorflow,第一个就是官方容器,下载镜像,运行即可进入。

生成验证码

首先安装这两个包:

pip install captcha

pip install matplotlib

#coding:utf-8
from captcha.image import ImageCaptcha # pip install captcha
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
import random,time,os # 验证码中的字符, 就不用汉字了
number = ['0','1','2','3','4','5','6','7','8','9']
alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
ALPHABET = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
# 验证码一般都无视大小写;验证码长度4个字符
def random_captcha_text(char_set=number+alphabet+ALPHABET, captcha_size=4):
captcha_text = []
for i in range(captcha_size):
c = random.choice(char_set)
captcha_text.append(c)
return captcha_text # 生成字符对应的验证码
def gen_captcha_text_and_image():
image = ImageCaptcha() captcha_text = random_captcha_text()
captcha_text = ''.join(captcha_text) captcha = image.generate(captcha_text)
#image.write(captcha_text, captcha_text + '.jpg') # 写到文件 #rm = 'rm '+captcha_text + '.jpg'
#print rm
#os.system(rm)
#time.sleep(10) captcha_image = Image.open(captcha)
captcha_image = np.array(captcha_image)
return captcha_text, captcha_image if __name__ == '__main__':
# 测试
while(1):
text, image = gen_captcha_text_and_image()
print ('begin ',time.ctime(),type(image))
f = plt.figure()
ax = f.add_subplot(111)
ax.text(0.1, 0.9,text, ha='center', va='center', transform=ax.transAxes)
plt.imshow(image) plt.show()
print ('end ',time.ctime())

以上代码相比于原作者代码有修改:参考https://github.com/luyishisi/Anti-Anti-Spider/blob/master/1.%E9%AA%8C%E8%AF%81%E7%A0%81/tensorflow_cnn/gen_captcha.py

最新文章

  1. canvas绘制二次贝塞尔曲线----演示二次贝塞尔四个参数的作用
  2. python读取excel数据,并可视化展现
  3. XML序列化的时候如何支持Namespace
  4. MAC Objective-C 开发经典书籍推荐
  5. 关闭log4j 输出 DEBUG org.apache.commons.beanutils.*
  6. Android系统中的dp和px的转换
  7. 功率和dB的关系
  8. CentOS 下mysql 的安装
  9. 利用NSURLSession下载视频,图片,能实现断点续传
  10. CISCO 过载NAT配置(小型网络)
  11. Github Page 搜索工具
  12. C#编程(七十一)---------- 自定义特性
  13. please verify the preference field with the prompt:Tomcat JDK name
  14. Unity创建一个简易的弹簧(弹动)效果
  15. margin折叠及hasLayout && Block Formatting Contexts
  16. Prometheus Node_exporter metrics 之 Basic CPU / Mem / Disk Info
  17. 怎样使用ADO中的UpdateBatch方法(200分)
  18. react 带参数事件方法不立即执行
  19. photoshop 切片工具进行切图
  20. React Native踩坑之启动android模拟器失败

热门文章

  1. RDBMS关系型数据库与HBase的对比
  2. Keystone controller.py & routers.py代码解析
  3. tcp_tw_recycle和tcp_timestamps的一些知识(转)
  4. PE头里的东西更多。。。越看越恶心了,我都不想看了
  5. 鼠标悬浮到div上,div进行360°旋转
  6. Spark与Hadoop的对比
  7. 数据库MySQL--分组查询
  8. vue组件参数校验
  9. 【JZOJ6271】锻造 (forging)
  10. 阿里第一颗芯片问世,平头哥发布最强AI芯片含光800