abhmul / pyjet Goto Github PK
View Code? Open in Web Editor NEWCustom Pytorch Frontend I gradually build on for my projects.
License: MIT License
Custom Pytorch Frontend I gradually build on for my projects.
License: MIT License
In order to be able to seamlessly swap pyjet models with keras models, pyjet needs to change to use the same API for training and interact the same way with training related keras objects (e.g. callbacks). In order to do so, the following needs to happen:
compile
method for SLModel to pass in loss functions, optimizers, and metrics intofit_generator
create a training log for callbacks just like Kerasfit_generator
to return a history objectcall
not forward
to use forward
for some forward pass overheadfit
, evaluate
, and predict
methods)When a program running a generator enqueuer is interrupted or finishes, the termination of the generator enqueuer will hang. This is most likely due to imporperly terminating the threads and some being stuck running or in deadlock during termination.
Currently loss functions and auxiliary loss functions are supported, but the setup is very clunky. One main loss function is supported, but the input must be stored in self.loss_in
in the network forward()
method. Auxiliary losses are appended to the self.aux_loss_in
and these losses must be input into the fit_generator
method in the exact same order their arguments were appended to self.aux_loss_in
. Currently, assigning various optimizers to different losses is not supported.
Some avenues to improve functionality
add_loss_fn(self, name, loss_fn, *inputs)
compile
method that will build this stuff before calling fit_generator
. This will allow us to mimic keras better. This method compile
will be able to to be called any number of times to change the loss + optimizer dictionaries.Most of the current PyJet code was hacked together in one weekend without testing. Major, hidden bugs do exist. Having increased testing will not only uncover these bugs, but also increase the stability and organization of the project.
Goal: Have 95% test coverage before adding any new features.
The backend to PyJet is currently so small, it does not need to be in its own folder. It should be moved into a python file named "backend.py".
Right now all operations on a DatasetGenerator are complicated with ImageAugmentor and GeneratorEnqueuers (and possibly more generators to come) since they do not share the same attributes of a DatasetGenerator. These classes need to be modified to allow their use in any place a normal DatasetGenerator might be used.
This might be achieved by subclassing the DatasetGenerator or creating a super class. This can also be achieved by creating matching attributes for GeneratorEnqueuer and ImageAugmentor defined by the attributes of DatasetGenerator.
Ideally, changing DatasetGenerator should not require changing any solution code for this issue.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.