Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
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.
For more details see the documentation and tutorials.
Main features:
my_workflow = my_dataset.pipeline()
.load('/some/path')
.do_something()
.do_something_else()
.some_additional_action()
.save('/to/other/path')
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:
my_workflow.run(BATCH_SIZE, shuffle=True, n_epochs=5)
or
for batch in my_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 = 1000
for i in range(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
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.
from batchflow.models.torch import ResNet34
my_workflow = my_dataset.pipeline()
.init_model('model', ResNet34, config={'loss': 'ce', 'classes': 10})
.load('/some/path')
.some_transform()
.another_transform()
.train_model('ResNet34', inputs=B.images, targets=B.labels)
.run(BATCH_SIZE, shuffle=True)
For more advanced cases and detailed API see the documentation.
BatchFlow
module is in the beta stage. Your suggestions and improvements are very welcome.
BatchFlow
supports python 3.6 or higher.
With poetry
poetry add batchflow
With old-fashioned pip
pip3 install batchflow
With poetry
poetry add --editable git+https://github.com/analysiscenter/batchflow
With old-fashioned pip
pip install --editable git+https://github.com/analysiscenter/batchflow
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]
):
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}
}
FAQs
ML pipelines, model configuration and batch management
We found that batchflow demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.