You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BatchFlow helps you conveniently work with random or sequential batches of your data and define data processing and machine learning workflows even for datasets that do not fit into memory.
BatchFlow helps you conveniently work with random or sequential batches of your data
and define data processing and machine learning workflows even for datasets that do not fit into memory.
The trick here is that all the processing actions are lazy. They are not executed until their results are needed, e.g. when you request a preprocessed batch:
forbatchinmy_workflow.gen_batch(BATCH_SIZE, shuffle=True, n_epochs=5):
# only now the actions are fired and data is being changed with the workflow defined earlier# actions are executed one by one and here you get a fully processed batch
or
NUM_ITERS=1000foriinrange(NUM_ITERS):
processed_batch=my_workflow.next_batch(BATCH_SIZE, shuffle=True, n_epochs=None)
# only now the actions are fired and data is changed with the workflow defined earlier# actions are executed one by one and here you get a fully processed batch
Train a neural network
BatchFlow includes ready-to-use proven architectures like VGG, Inception, ResNet and many others.
To apply them to your data just choose a model, specify the inputs (like the number of classes or images shape)
and call train_model. Of course, you can also choose a loss function, an optimizer and many other parameters, if you want.
Some batchflow functions and classed require additional dependencies.
In order to use that functionality you might need to install batchflow with extras (e.g. batchflow[nn]):
image - working with image datasets and plotting
nn - for neural networks (includes torch, torchvision, ...)
datasets - loading standard datasets (MNIST, CIFAR, ...)
profile - performance profiling
jupyter - utility functions for notebooks
research - multiprocess research
telegram - for monitoring pipelines via a telegram bot
dev - batchflow development (ruff, pytest, ...)
You can install several extras at once, like batchflow[image,nn,research].
Please cite BatchFlow in your publications if it helps your research.
Roman Khudorozhkov et al. BatchFlow library for fast ML workflows. 2017. doi:10.5281/zenodo.1041203
@misc{roman_kh_2017_1041203,
author = {Khudorozhkov, Roman and others},
title = {BatchFlow library for fast ML workflows},
year = 2017,
doi = {10.5281/zenodo.1041203},
url = {https://doi.org/10.5281/zenodo.1041203}
}
About
BatchFlow helps you conveniently work with random or sequential batches of your data and define data processing and machine learning workflows even for datasets that do not fit into memory.