Kornia
projects
Our great sponsors
Kornia | projects | |
---|---|---|
11 | 6 | |
9,364 | 1,246 | |
2.5% | 1.9% | |
9.4 | 4.7 | |
7 days ago | 22 days ago | |
Python | Python | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Kornia
-
[News] Kornia 0.6.6: ParametrizedLine API, load_image support for Apple Windows Developer, integration demos with Hugging Face and many more.
👉 https://github.com/kornia/kornia/releases/tag/v0.6.6
- [P] Kornia: Differential Computer Vision
- Kornia: Differential Computer Vision
-
Hacker News top posts: May 10, 2022
Kornia: Differential Computer Vision\ (3 comments)
- Preprocessing for NN on GPU
-
Top 5 Python libraries for Computer vision
Kornia - Kornia is a differentiable computer vision library for PyTorch. It consists of a set of routines and differentiable modules to solve generic computer vision problems. At its core, the package uses PyTorch as its main backend both for efficiency and to take advantage of the reverse-mode auto-differentiation to define and compute the gradient of complex functions.
-
[D] CPU choice for machine learning server (Epyc vs. Threadripper)
Between "not being sure yet" about GPU operations in pre-processing and choosing high-end CPUs, I think you are overthinking the wrong alternative. Besides DALI, check whether you are using codecs besides nvidia/torchvision-supported jpeg and png, and if other GPU CV libraries meet your needs: torchvision kornia
-
[P] Using PyTorch + NumPy? A bug that plagues thousands of open-source ML projects.
Use kornia.augmentation where this problem is solved doing the augmentations in batch outside the dataloader. https://github.com/kornia/kornia
projects
-
Identify custom labels as well as existing labels with Spacy v3
When I was doing the same task, I used their `spacy project` command-line interface and extended their `ner_drugs` project, made things pretty easy. https://spacy.io/usage/projects https://github.com/explosion/projects/tree/v3/tutorials/ner_drugs
-
Build Spacy NER Loop for Dataframe
You could check out https://github.com/explosion/projects/tree/v3/tutorials for some sample code (this is the official spacy github)
-
Newbie question with Spacy Coreference Resolution
I used this example: https://github.com/explosion/projects/tree/v3/experimental/coref
-
Using pre-trained BERT embeddings for multi-class text classification
spaCy has an example project that uses BERT that you could use as a reference. It's multilabel but it should be easy to tweak the config to be just multiclass instead.
-
SpaCy v3.0 Released (Python Natural Language Processing)
The improved transformers support is definitely one of the main features of the release. I'm also really pleased with how the project system and config files work.
If you're always working with exactly one task model, I think working directly in transformers isn't that different from using spaCy. But if you're orchestrating multiple models, spaCy's pipeline components and Doc object will probably be helpful. A feature in v3 that I think will be particularly useful is the ability to share a transformer model between multiple components, for instance you can have an entity recogniser, text classifier and tagger all using the same transformer, and all backpropagating to it.
You also might find the projects system useful if you're training a lot of models. For instance, take a look at the project repo [here](https://github.com/explosion/projects/tree/v3/benchmarks/ner...). Most of the readme there is actually generated from the project.yml file, which fully specifies the preprocessing steps you need to build the project from the source assets. The project system can also push and pull intermediate or final artifacts to a remote cache, such as an S3 bucket, with the addressing of the artifacts calculated based on hashes of the inputs and the file itself.
The config file is comprehensive and extensible. The blocks refer to typed functions that you can specify yourself, so you can substitute any of your own layer (or other) functions in, to change some part of the system's behaviour. You don't _have_ to specify your models from the config files like this --- you can instead put it together in code. But the config system means there's a way of fully specifying a pipeline and all of the training settings, which means you can really standardise your training machinery.
Overall the theme of what we're doing is helping you to line up the workflows you use during development with something you can actually ship. We think one of the problems for ML engineers is that there's quite a gap between how people are iterating in their local dev environment (notebooks, scrappy directories etc) and getting the project into a state that you can get other people working on, try out in automation, and then pilot in some sort of soft production (e.g. directing a small amount of traffic to the model).
The problem with iterating in the local state is that you're running the model against benchmarks that are not real, and you hit diminishing returns quite quickly this way. It also introduces a lot of rework.
All that said, there will definitely be usage contexts where it's not worth introducing another technology. For instance, if your main goal is to develop a model, run an experiment and publish a paper, you might find spaCy doesn't do much that makes your life easier.
What are some alternatives?
OpenCV - Open Source Computer Vision Library
syntaxdot - Neural syntax annotator, supporting sequence labeling, lemmatization, and dependency parsing.
Face Recognition - The world's simplest facial recognition api for Python and the command line
duckling - Language, engine, and tooling for expressing, testing, and evaluating composable language rules on input strings.
EasyOCR - Ready-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc.
spaCy - 💫 Industrial-strength Natural Language Processing (NLP) in Python
SimpleCV - The Open Source Framework for Machine Vision
laserembeddings - LASER multilingual sentence embeddings as a pip package
multi-object-tracker - Multi-object trackers in Python
rules - Durable Rules Engine
gaps - A Genetic Algorithm-Based Solver for Jigsaw Puzzles :cyclone:
BLINK - Entity Linker solution