zoukankan      html  css  js  c++  java
  • tensorflow识别验证码(1)-tensorflow安装,验证码生成

    什么是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:Python34Scripts;
    到现在我们才算完整安装好了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)
    C博客作业01--分支丶顺序结构
    C博客作业00--我的第一篇博客
    C博客作业
    C博客作业01--分支、顺序结构
    一条简单select经过了多少路程
  • 原文地址:https://www.cnblogs.com/mrcharles/p/11879798.html
Copyright © 2011-2022 走看看