Skip to main content

pyncer

使用

训练

from datetime import datetime
from pyncer.text import TextPyncer, TextPyncerTrainer
from pyncer.text.util import load_by_filename
from tqdm import tqdm

if __name__ == '__main__':
    pyncer = TextPyncer(
        path='./captcha.m',
        length=5,
        charset=['0', '1', '2', '3', '4', '5', '6', '7', '8', '9',],
    )

    data = load_by_filename('./debug/')
    batch_size = 128
    trainer = TextPyncerTrainer(
        pyncer=pyncer,
        train_data = data,
        test_data = data,
        batch_size=128
    )

    avg_loss = 0.0
    avg_limit = 100
    avg_count = 0
    for i in range(200):
        for j, loss in tqdm(trainer.train()):
            avg_loss += loss
            c = avg_count + j
            if (c % avg_limit) == 0:
                print(f'count: {c} | loss:{avg_loss / avg_limit}')
                avg_loss = 0.0
        avg_count += j
        accuracy = trainer.test(10)
        print(f'epoch: {i} | accuracy: {accuracy * 100:.2f}%')
        if (i % 3) == 2:
            pyncer.save()
            now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
            print(f'epoch: {i} | save: {now}')

猜验证码

import random
from pyncer.text import TextPyncer
from pyncer.text.util import load_by_filename

if __name__ == '__main__':
    pyncer = TextPyncer(
        path='./captcha.m',
        length=5,
        charset=['0', '1', '2', '3', '4', '5', '6', '7', '8', '9',],
    )
    data = load_by_filename('./debug/')
    for _ in range(10):
        i = random.randint(0, len(data))
        c, p = data[i]
        r = pyncer.infer(p)
        print(f'{c} <=> {r}')

Release files for pyncer 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyncer 0.0.1
File Size Uploaded
pyncer-0.0.1.tar.gz 3.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyncer 0.0.1
File Interpreter ABI Platform
pyncer-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 9.4 kB

Release files / pyncer-0.0.1.tar.gz

Download URL pyncer-0.0.1.tar.gz
Size 3.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0ac53622ba56f138af93cf1f485917fba77efc50abe84545efea41673d68b157
BLAKE2b-256 checksum
How to use checksums
c92e40dbc3d2b40d8a90a307dcd668886b83bde28a5c59d829e3cb749b82807e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.1

Release files / pyncer-0.0.1-py3-none-any.whl

Download URL pyncer-0.0.1-py3-none-any.whl
Size 5.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d1980b33a8956d633e44698f730a15d6f5c71acca9fe9f1ae38435317db99ebb
BLAKE2b-256 checksum
How to use checksums
e19f410d76ad8d9f5bdb61341d409a799647475082b1ebbbf5ecde7ca7255a6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.1

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page