Simplified interface for TensorFlow (mimicking Scikit Learn) for Deep Learning

Related tags

Deep Learning skflow
Overview

SkFlow has been moved to Tensorflow.

SkFlow has been moved to http://github.com/tensorflow/tensorflow into contrib folder specifically located here. The development will continue there. Please submit any issues and pull requests to Tensorflow repository instead.

This repository will ramp down, including after next Tensorflow release we will wind down code here. Please see instructions on most recent installation here.

Comments
  • How do I do multilabel image classification?

    How do I do multilabel image classification?

    Do I have to make changes in the multioutput file? I ideally want to train any model, like Inception, on my training data which has multi labels. How do I do that?

    help wanted examples 
    opened by unography 21
  • Add early stopping and reporting based on validation data

    Add early stopping and reporting based on validation data

    This PR allows a user to specify a validation dataset that are used for early stopping (and reporting). The PR was created to address issue 85

    I made changes in 3 places.

    1. The trainer now takes a dictionary containing the validation data (in the same format as the output of the data feeder's get_dict_fn).
    2. The fit method now takes arguments for val_X and val_y. It converts these into the correct format for the trainer.
    3. The example file digits.py now uses early stopping, by supplying val_X and val_y.

    I can add early stopping to other examples if this approach looks good, though their behavior should not otherwise be affected by the current PR.

    cla: yes 
    opened by dansbecker 14
  • Class weight support

    Class weight support

    Hi,

    I am using skflow.ops.dnn to classify two - classes dataset (True and False). The percentage of True example is very small, so I have an imbalanced dataset.

    It seems to me that one way to resolve the issue is to use weighted classes. However, when I look to the implementation of skflow.ops.dnn, I do not know how could I do weighted classes with DNN.

    Is it possible to do that with skflow, or is there another technique to deal with imbalanced dataset problem in skflow?

    Thanks

    enhancement 
    opened by vinhqdang 13
  • Added verbose option

    Added verbose option

    I added an option to control the "verbosity". For this, I added the parameter "verbose" in the init method of the init.py file and to the train function in the trainers.py file. In addition, I passed this argument to the "self._trainer.train()" call in the init file and added a condition to make the prints in the trainer.py file.

    cla: no 
    opened by ivallesp 12
  • Predict batch size default

    Predict batch size default

    This changes the default batch size for prediction to be the same as for training, enabling efficient grid search. Previously GridSearchCV would try to make predictions in a single batch, which could take a lot of memory.

    This also adds a simple example of using skflow with GridSearchCV.

    cla: no 
    opened by mheilman 11
  • Add example accessing of weights

    Add example accessing of weights

    It wasn't clear how to access weights using classifier.get_tensor_value('foo') syntax. This adds some examples for the CNN model. They were figured out by logging the training as though for using TensorBoard, and then running strings on the logfile to look for the right namespace.

    Is there a better way to access these weights? Or to learn their names? The logging must walk through the graph and record these names. Maybe if there were a way to quickly list all the names, that'd be enough for advanced users to figure it out.

    cla: yes 
    opened by dvbuntu 10
  • Plotting neural network built by skflow

    Plotting neural network built by skflow

    Hi,

    Sorry I asked too much.

    I think plotting is always a nice feature. Is it possible right now for skflow (or can we do that through tensorflow directly)?

    opened by vinhqdang 10
  • move monitor and logdir arguments to init

    move monitor and logdir arguments to init

    opened by mheilman 8
  • Exception when running language model example

    Exception when running language model example

    Hi,

    Thanks for making this tool. It will definitely make things easier for NN newcomers.

    I just tried running your language model example and got the following exception:

    Traceback (most recent call last):
      File "test.py", line 84, in <module>
        estimator.fit(X, y)
      File "/Users/aleksandar/tensorflow/lib/python3.5/site-packages/skflow/estimators/base.py", line 243, in fit
        feed_params_fn=self._data_feeder.get_feed_params)
      File "/Users/aleksandar/tensorflow/lib/python3.5/site-packages/skflow/trainer.py", line 114, in train
        feed_dict = feed_dict_fn()
      File "/Users/aleksandar/tensorflow/lib/python3.5/site-packages/skflow/io/data_feeder.py", line 307, in _feed_dict_fn
        inp[i, :] = six.next(self.X)
    StopIteration
    

    I made sure that my python distribution has the correct version of six. I tried running it both in a virtual environment and in a normal Python 3 distro. Any ideas what might be causing this?

    opened by savkov 7
  • another ValidationMonitor with validation(+early stopping) per epoch

    another ValidationMonitor with validation(+early stopping) per epoch

    From what I understand, the existing ValidationMonitor performs validation every [print_steps] steps, and checks for stop condition every [early_stopping_rounds] steps. I'd like to add another ValidationMonitor that performs validation once and checks for stoping condition once every epoch. Is this the recommended practice in machine learning regarding validation and early stopping? I mean I'd like to add a fit process something like this:

    def fit(self, x_train, y_train, x_validate, y_validate):
        while (current_validation_loss < previous_validation_loss):
            estimator.train_one_more_epoch(x_train, y_train)
            previous_validation_loss = current_validation_loss
            current_validation_loss = some_error(y_validate, estimator.predict(x_validate))
    
    enhancement help wanted 
    opened by alanyuchenhou 7
  • Example of language model

    Example of language model

    Add an example of language model (RNN). For example character level on sheikspear book (similar to https://github.com/sherjilozair/char-rnn-tensorflow).

    examples 
    opened by ilblackdragon 7
  • .travis.yml: The 'sudo' tag is now deprecated in Travis CI

    .travis.yml: The 'sudo' tag is now deprecated in Travis CI

    opened by cclauss 1
  • Why hasn't this repo been archived yet?

    Why hasn't this repo been archived yet?

    New versions of TF have already been released since the last commit to this repo. As far as I've understood, after having read the README file of this project, you intended to close this repo. So, why hasn't it been done yet?

    opened by nbro 0
Releases(v0.1)
  • v0.1(Feb 14, 2016)

Owner
null
This package proposes simplified exporting pytorch models to ONNX and TensorRT, and also gives some base interface for model inference.

PyTorch Infer Utils This package proposes simplified exporting pytorch models to ONNX and TensorRT, and also gives some base interface for model infer

Alex Gorodnitskiy 11 Mar 20, 2022
A set of tools for creating and testing machine learning features, with a scikit-learn compatible API

Feature Forge This library provides a set of tools that can be useful in many machine learning applications (classification, clustering, regression, e

Machinalis 380 Nov 5, 2022
SciKit-Learn Laboratory (SKLL) makes it easy to run machine learning experiments.

SciKit-Learn Laboratory This Python package provides command-line utilities to make it easier to run machine learning experiments with scikit-learn. O

ETS 528 Nov 25, 2022
Python package for Bayesian Machine Learning with scikit-learn API

Python package for Bayesian Machine Learning with scikit-learn API Installing & Upgrading package pip install https://github.com/AmazaspShumik/sklearn

Amazasp Shaumyan 482 Jan 4, 2023
scikit-learn: machine learning in Python

scikit-learn is a Python module for machine learning built on top of SciPy and is distributed under the 3-Clause BSD license. The project was started

scikit-learn 52.5k Jan 8, 2023
A scikit-learn compatible neural network library that wraps PyTorch

A scikit-learn compatible neural network library that wraps PyTorch. Resources Documentation Source Code Examples To see more elaborate examples, look

null 4.9k Dec 31, 2022
A scikit-learn compatible neural network library that wraps PyTorch

A scikit-learn compatible neural network library that wraps PyTorch. Resources Documentation Source Code Examples To see more elaborate examples, look

null 3.8k Feb 13, 2021
A scikit-learn compatible neural network library that wraps PyTorch

A scikit-learn compatible neural network library that wraps PyTorch. Resources Documentation Source Code Examples To see more elaborate examples, look

null 4.9k Jan 3, 2023
Scikit-learn compatible estimation of general graphical models

skggm : Gaussian graphical models using the scikit-learn API In the last decade, learning networks that encode conditional independence relationships

null 213 Jan 2, 2023
scikit-learn inspired API for CRFsuite

sklearn-crfsuite sklearn-crfsuite is a thin CRFsuite (python-crfsuite) wrapper which provides interface simlar to scikit-learn. sklearn_crfsuite.CRF i

null 417 Dec 20, 2022
Genetic Programming in Python, with a scikit-learn inspired API

Welcome to gplearn! gplearn implements Genetic Programming in Python, with a scikit-learn inspired and compatible API. While Genetic Programming (GP)

Trevor Stephens 1.3k Jan 3, 2023
Genetic feature selection module for scikit-learn

sklearn-genetic Genetic feature selection module for scikit-learn Genetic algorithms mimic the process of natural selection to search for optimal valu

Manuel Calzolari 260 Dec 14, 2022
Use evolutionary algorithms instead of gridsearch in scikit-learn

sklearn-deap Use evolutionary algorithms instead of gridsearch in scikit-learn. This allows you to reduce the time required to find the best parameter

rsteca 709 Jan 3, 2023
SigOpt wrappers for scikit-learn methods

SigOpt + scikit-learn Interfacing This package implements useful interfaces and wrappers for using SigOpt and scikit-learn together Getting Started In

SigOpt 73 Sep 30, 2022
Using python and scikit-learn to make stock predictions

MachineLearningStocks in python: a starter project and guide EDIT as of Feb 2021: MachineLearningStocks is no longer actively maintained MachineLearni

Robert Martin 1.3k Dec 29, 2022
A scikit-learn-compatible module for estimating prediction intervals.

|Anaconda|_ MAPIE - Model Agnostic Prediction Interval Estimator MAPIE allows you to easily estimate prediction intervals using your favourite sklearn

SimAI 584 Dec 27, 2022
Regression Metrics Calculation Made easy for tensorflow2 and scikit-learn

Regression Metrics Installation To install the package from the PyPi repository you can execute the following command: pip install regressionmetrics I

Ashish Patel 11 Dec 16, 2022
A real-time speech emotion recognition application using Scikit-learn and gradio

Speech-Emotion-Recognition-App A real-time speech emotion recognition application using Scikit-learn and gradio. Requirements librosa==0.6.3 numpy sou

Son Tran 6 Oct 4, 2022
Convert scikit-learn models to PyTorch modules

sk2torch sk2torch converts scikit-learn models into PyTorch modules that can be tuned with backpropagation and even compiled as TorchScript. Problems

Alex Nichol 101 Dec 16, 2022