Coder Social home page Coder Social logo

cnnyzm's Introduction

用CNN识别验证码| python识别验证码| 训练验证码模型

这个项目有好几年了,项目中使用的是 tensorflow1,现在主要 2 比较流行,但是 1 和 2 里面有很多方法都是不同的。

另外 M 芯片的 mac 很难跑起来,最好还是 win。

适用于无深度学习基础的朋友,只需要编写getimg.py相关路径即可

有问题可以提issue

本项目使用方法:

使用方法

有关于验证码生成可以看我这两篇文章:

验证码破解没有训练集?我教你生成一万个!

不得不说这个验证码生成库,牛逼了!

image

cnnyzm's People

Contributors

hellokuls avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cnnyzm's Issues

第一次请求正常 再次请求就报错

验证的时候, 第二次请求就出现Original stack trace for 'save_1/RestoreV2' 这样的错误提示, 每次请求save_*就会+1, 如果是重新运行python文件, 就正常

尝试过在with tf.Session() as sess:下面增加sess.run(tf.compat.v1.global_variables_initializer()), 虽然这样是不报错了...但是只有第一次返回的是正确的验证码, 接下来都是错误的验证码...

初学者...希望能指点指点

import base64
import json
import os

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
from cPython import cPython as cp
from train import cnn_graph
from PIL import Image
from process import vec2text,convert2gray,wrap_gen_captcha_text_and_image_test
from getimg import CAPTCHA_HEIGHT, CAPTCHA_WIDTH, CAPTCHA_LEN, CAPTCHA_LIST

import numpy as np
import random

# 验证码图片转化为文本
def captcha2text(image_list, height=CAPTCHA_HEIGHT, width=CAPTCHA_WIDTH):
    x = tf.placeholder(tf.float32, [None, height * width])
    keep_prob = tf.placeholder(tf.float32)
    y_conv = cnn_graph(x, keep_prob, (height, width))
    saver = tf.train.Saver()
    with tf.Session() as sess:
        saver.restore(sess, tf.train.latest_checkpoint('.'))
        predict = tf.argmax(tf.reshape(y_conv, [-1, CAPTCHA_LEN, len(CAPTCHA_LIST)]), 2)
        vector_list = sess.run(predict, feed_dict={x: image_list, keep_prob: 1})
        vector_list = vector_list.tolist()

        text_list = [vec2text(vector) for vector in vector_list]

        return text_list

if __name__ == '__main__':
    data = json.loads(cp.get_html('http://whois.chinaz.com/ajaxsync.aspx?at=vc&%s' % random.random()))
    image = base64.b64decode(data['Img'].replace('data:image/jpeg;base64,', ''))
    with open('temp.jpg', 'wb') as w:
        w.write(image)
    image_a = Image.open('temp.jpg')
    img_array = np.array(image_a)
    image = convert2gray(img_array)
    image = image.flatten() / 255
    pre_text = captcha2text([image])
    print(pre_text)

    data = json.loads(cp.get_html('http://whois.chinaz.com/ajaxsync.aspx?at=vc&%s' % random.random()))
    image = base64.b64decode(data['Img'].replace('data:image/jpeg;base64,', ''))
    with open('temp2.jpg', 'wb') as w:
        w.write(image)
    image_a = Image.open('temp2.jpg')
    img_array = np.array(image_a)
    image = convert2gray(img_array)
    image = image.flatten() / 255
    pre_text = captcha2text([image])
    print(pre_text)

IndexError: list index out of range

Traceback (most recent call last):
File "train.py", line 190, in
train()
File "train.py", line 171, in train
batch_x, batch_y = next_batch(64)
File "C:\Users\11967\desktop\cnnyzm\process.py", line 61, in next_batch
image_a = image[text.index(text_a)]
IndexError: list index out of range

你好,请教下

我使用gui跑的1万数据集,很慢,而且acc一直都是0.1,这个是因为什么啊

验证集识别率很低

我这边训练很快acc就95+ 但是预测训练集准确率没问题 一预测测试集 准确率就特别低 这是怎么回事啊
image
image

IndexError: list index out of range

Traceback (most recent call last):
  File "/Users/vm/Documents/workspace/First/_20200927/cnnyzm/process.py", line 80, in <module>
    x,y = next_batch(batch_count=1)
  File "/Users/vm/Documents/workspace/First/_20200927/cnnyzm/process.py", line 69, in next_batch
    image_a = image[text.index(text_a)]
IndexError: list index out of range

修改了图片的长宽,貌似获取的图片生成的验证码里面没有,这个是随机生成的吗

64
9965
XkOt.jp
8250
Traceback (most recent call last):
File "/Users/rember_i/学习/chinaunicom/train.py", line 214, in
train()
File "/Users/rember_i/学习/chinaunicom/train.py", line 182, in train
batch_x, batch_y = next_batch(64)
File "/Users/rember_i/学习/chinaunicom/process.py", line 70, in next_batch
batch_y[i, :] = text2vec(text_a)
File "/Users/rember_i/学习/chinaunicom/process.py", line 21, in text2vec
raise ValueError("验证码超过4位啦!")
ValueError: 验证码超过4位啦!

你好,请教下错误,有给定的验证码图片

Traceback (most recent call last):
File "D:\Python\cnnyzm-master\train.py", line 185, in
train()
File "D:\Python\cnnyzm-master\train.py", line 166, in train
batch_x, batch_y = next_batch(7)
File "D:\Python\cnnyzm-master\process.py", line 58, in next_batch
image_a = image[text.index(text_a)]
IndexError: list index out of range

Process finished with exit code 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.