GithubHelp home page GithubHelp logo

governance's Introduction

Keras governance structure

Keras logo


Design review process

Design-related communications are expected to happen primarily asynchronously via:

The process for writing and submitting design proposals is same as the TensorFlow RFC process.

  • Start from this template.
  • Fill in the content. Note that you will need to insert code examples.
    • Provide enough context information for anyone to undertsand what's going on.
    • Provide a solid argument as for why the feature is neeed.
    • Include a code example of the end-to-end workflow you have in mind.
  • Open a Pull Request in the Keras API proposals folder in this repository.
  • Send the Pull Request link to [email protected] with a subject that starts with [API DESIGN REVIEW] (all caps) so that we notice it.
  • Wait for comments, and answer them as they come. Edit the proposal as necessary.
  • The proposal will finally be approved or rejected. Once approved, you can send out Pull Requests to implement the API changes or ask others to write Pull Requests (targeting keras-team/keras).

Note that:

  • Anyone is free to send out API proposals.
  • Anyone is free to comment on API proposals or ask questions.

Leadership

BDFL

Role: final call in decisions related to the Keras API.


Our mission

The purpose of our work is to democratize access to machine learning through dependable standards and usable, productive APIs. We seek to empower as many people as possible, from a wide diversity of backgrounds, to take ownership of ML technology and to use it to build their own solutions to their own problems.

Existing machine learning technology has the potential to solve a huge amount of problems in the world today, across every industry, and to help a tremendous amount of people. The potential is sky-high. We've barely even started. So how do we fully realize this potential?

We believe that we will only fully realize the potential of machine learning if it becomes a tool in everyone's hands -- not just a technology developed behind closed doors by an "AI industry", that you could only deploy by waiting for a turnkey cloud API to become available commercially, or by contracting an expensive consulting firm. We can't wait for experts to solve every problem -- experts at large tech companies don't even have visibility into a tiny fraction of the problems that can be solved. End users should solve their own problems. And our mission is to empower them to do just that.

Our mission is to make these capabilities available to anyone with basic computer literacy, for free. This is how we maximize the realized potential of these technologies, and how we maximize our positive impact on the world.


Code of conduct

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone. All activity will abide by the Code of Conduct.


Our values and our strengths

We will be able to reach our milestones because we yield superpowers of a kind that is quite uncommon among developers of ML tools:

  • We have empathy for our users.
  • We value and practice good design.
  • We embrace openness and we are dedicated to foster our developer community.
  • We value and practice good communication.
  • We have a unique brand that users love.

1) We have empathy for our users. We know that every decision we make should be made with the user in mind, whether a design decision or a strategy decision. "What will be the total impact of our choices on the people who rely on our software?" is the question behind everything we do.

Having empathy for our users means:

  • Being users ourselves -- actively using our product in similar scenarios as what our users face.
  • Understanding our users by being closely in touch with them and having clear visibility into the developer experience: actively seeking community input in everything we do, listening to feedback, talking with users at external talks and developer events.
  • Putting ourselves in our users' shoes: always going above and beyond to be helpful to our users and to improve the user experience of our products.

2) We value good design. We are fully aware that a delightful UX is what has made us successful so far and what will keep making us successful in the future. We know that things should be as simple as possible (but no simpler). We prefer elegance and minimalism over technical prowess. We follow formal principles for good design.

3) We embrace openness and we are dedicated to foster our developer community. We know that long-term community building is critical to the success of our project, and we know that developer communities don't get built behind closed doors. We understand the necessity of doing our work in the open and the importance of involving open-source contributors at all stages of the development process.

4) We value and practice good communication. We understand that great documentation, great code examples, and transparency of governance are essential to Keras adoption and contribute meaningfully to the Keras UX. We value external communication, documentation, and developers relations as much as we value technical contributions.

5) We value what makes us different and unique, and we value our brand that users love, Keras. The Keras brand is an essential tool in reaching our goals: it stands for user-friendliness, accessibility, and good design. We are proud of our banner and we will carry it forward.

governance's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

governance's Issues

Idea for Keras Preprocessing API

As far as I know (in the new RFC Keras Preprocessing API) the different augmentation layers (flip, roation, ...) are always used after each other. But what about the following idea:

If you could configure a certain percentage for each layer that gives the chance to activate this layer. This way not all layers are activated the same time. The advantage is that you could configure more agressive augmentation values per layer but do not "overaugment" the images.

My assumption is that this would bring a wider range of different images and improves augmentation with better cnn performance (accuracy or whatever).

What do you think?

Create a Keras style guide

I'm happy to take a stab at this.

This includes:

  • everything mentioned in keras-io
  • prefer closure blocks over functions for custom blocks
  • when to require parameters
  • ... and more!

Can 3D image like data use this preprocessing layer?

Up to know, most of the data preprocessing methods are for 2D images or tabular dataframe. But my dataset is about 3D images. I have to do the data preprocessing outside keras. Another problem is my dataset is too big to load into my memory, so I used .h5 file to load my data into the memory batch by batch. Therefore, I can't do sklearn's data preprocessing, such as standardization, normalization, etc. I am not sure if you will deploy more api for 3D data. For example, 3D data augmentation.

A request

I would like to request a philosophy statement, or statement of purpose, for the Keras framework. It would address things like

  • A backend must support all features in a list before we will bless it
  • A new or existing function must be documented before it goes in the API
  • Policies for backward compatibility

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.