Skip to main content

Some nice ML overhaul

Project description

k1lib

PyTorch is awesome, and it provides a very effective way to execute ML code fast. What it lacks is surrounding infrastructure to make general debugging and discovery process better. Other more official wrapper frameworks sort of don't make sense to me, so this is an attempt at recreating a robust suite of tools that makes sense.

Also, there's the package k1lib.cli which contains nice cli tools originally intended to replace the bash/awk/perl bioinformatics workflow. What does this have to do with PyTorch and DL? Originally nothing, but over time stuff like batched and stagger appeared which has largely replaced PyTorch data loaders.

This cli stuff is quite insane man. You can literally perform extremely complex operations in 2-3 lines of code that would normally take >100 lines. It's also super flexible, operates on multiple dimensions and not locked in, as you can change the dataflow in quite a fundamental level in ~5 minutes. It's like alchemy. Although I created it, I'm continously surprised at what it can do. Check this post where cli is used to load, transform, analyze and visualize protein structural data.

Installation

Just do this:

pip install k1lib[all]

This will install all extra dependencies, except for k1a, which is a supplementary library to accelerate functionalities within this library. If you can't install the optional extra dependencies for some reason then do this:

pip install k1lib

Then in a notebook, do this:

from k1lib.imports import *

I've found importing all symbols work best for my day-to-day use, and it makes cli tools more pleasant to use. However, if you're those diehard programmers who sworn to never import all, then you can just do import k1lib instead. Still, look over the k1lib.imports module to know what you should import.

This library has very few required dependencies, and all of them are very commonly used

Some details

Read over some tutorials in the docs to get a feel of how things work.

Contacts?

If you found bugs, open a new issue on the repo itself. If you want to have a chat, then email me at 157239q@gmail.com

If you want to get an overview of how the repo is structured, read contributing.md

Project details


Release history Release notifications | RSS feed

This version

1.1.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

k1lib-1.1.1.tar.gz (167.9 kB view hashes)

Uploaded Source

Built Distributions

k1lib-1.1.1-py3.8.egg (504.7 kB view hashes)

Uploaded Source

k1lib-1.1.1-py3-none-any.whl (199.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page