-
Notifications
You must be signed in to change notification settings - Fork 526
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Keras API #1
Comments
@minimaxir Thank you for filing this feature request. We'll take a look. |
/cc @jhfjhfj1 |
Without Keras support of project, it may have some trouble to visualize AdaNet produced construction, |
@svjack: You can visualize the learned architecture in TensorBoard by looking at the Graph tab. |
@cweill I suggest, Can create a chapter to tell about the algorithm procedure among different iteration (with namespace control) with the help of tensorboard to visualize in the document you will release. |
Any news on this? |
We're working on a new Keras API for AdaNet, but don't have a timeline on it yet. Keep an eye out for related commits over the next few months. |
The timeline will look roughly like so (subject to change):
Please reach out here or PM me if you are interested in testing out our new Keras support as we add it. |
this is amazing! |
We are going for an API that is both familiar, but also flexible enough to define an search space of keras models. Here's an idea of the kind of API we are going for: submodel1 = Sequential()
submodel1.add(Dense(8, input_dim=4, activation='relu'))
submodel1.add(Dense(3, activation='softmax'))
submodel1.compile(loss='categorical_crossentropy', optimizer='adam')
submodel2 = Sequential()
submodel2.add(Dense(16, input_dim=4, activation='relu'))
submodel2.add(Dense(3, activation='softmax'))
submodel2.compile(loss='categorical_crossentropy', optimizer='adam')
model = adanet.keras.AutoEnsemble(
ensembler=adanet.ensemble.UniformAverage(),
ensemble_strategy=adanet.ensemble.AllStrategy(),
candidate_pool={
"Model1": submodel1,
"Model2": submodel2,
})
model.compile(loss='categorical_crossentropy', optimizer='adam')
model.fit(x=..., y=..., steps=100) Feedback is welcome! |
…_runner | Closes PR #115. Copybara import of the project: - 0df5fc6 Changed the protobuf version to 3.6.1 to accomodate lates... by chandramouli <[email protected]> - 64985e0 Merge branch 'master' into master by Charles Weill <[email protected]> - 3d8cd3a Merge pull request #1 from tensorflow/master by chandramoulirajagopalan <[email protected]> - b21ed49 Added tf.distribute.MirroredStrategy() test to estimator_... by chandramouli <[email protected]> - 7116db2 Using MultiWorkerMirroredStrategy instead of MirroredStra... by chandramouli <[email protected]> - b0c21af Using MultiWorkerMirroredStrategy instead of MirroredStra... by chandramouli <[email protected]> - 62b3050 Merge branch 'master' into master by chandramoulirajagopalan <[email protected]> - 8185883 Merge 62b3050 into cfb35... by chandramoulirajagopalan <[email protected]> PiperOrigin-RevId: 254859026
@cweill this looks great but is this already close to an alpha/beta(or merged into some branch already) where if I want to try this out I can go ahead and try it out, or you guys still working through this. any rough notebook with a broad idea of steps would be great.
|
@atinsood: We don't currently have anything you can try out, since we're still coming up with a reasonable design. But keep an eye out, we'll be pushing some experimental code soon to an |
I would love to use it when it comes out |
This API is under development which means it is experimental and subject to change. PiperOrigin-RevId: 275288072
This API is under development which means it is experimental and subject to change. PiperOrigin-RevId: 275293435
Create a private `_KerasHead` object to provide necessary values to create a `tf.estimator.EstimatorSpec` within AdaNet without the need of a `tf.estimator.Head`. PiperOrigin-RevId: 278870525
To construct a `tf.train.Checkpoint`, the user needs to pass all created variables that they wish to save and restore. This will give us more flexibility down the line for extracting subnetworks from the AdaNet model, and support Keras Models. Additionally, disable support for the BoostedTreesEstimator since it has untrackable variables which conflict with `tf.train.Checkpoint`. PiperOrigin-RevId: 281404924
When would this Keras API have a final distribution? I think it's vital for the widespread application of AdaNet. |
@shendiaomo: This is still a work in progress, but we are actively pursuing this direction. It's all very experimental at the moment, since we would like it to fit in well with the rest of the Keras and TF 2.0 ecosystem, meaning good integration with other systems like keras-tuner. We're working on an experimental AdaNet model search API. You can have a peek under adanet/experimental. We will be demoing this Tuesday Morning at the Google Booth at NeurIPS. |
Additionally, add a seed argument to RandomKStrategy ensemble strategy. PiperOrigin-RevId: 290273070
@minimaxir, @shendiaomo: Be sure to try out the ModelFlow demo. |
As mentioned in discussion on Hacker News, native support for Keras's APIs (including layer support) would make implementation of adanet a lot easier for Keras-based projects (either via
tf.keras
or externalkeras
).The text was updated successfully, but these errors were encountered: