rstudio / ai-blog

Repository for the RStudio AI Blog (formerly: TensorFlow for R Blog)
https://blogs.rstudio.com/ai/
48 stars 36 forks source link

TensorFlow for R Blog: Auto-Keras post proposal. #34

Closed jcrodriguez1989 closed 5 years ago

jcrodriguez1989 commented 5 years ago

I would be pleased to propose my post entitled "Auto-Keras: An R easily accessible deep learning library" to be published in the TensorFlow for R Blog. I have carefully followed the blog contribution guide detailed in https://blogs.rstudio.com/tensorflow/contributing.html . You can find my proposed post in the URL https://github.com/jcrodriguez1989/tf_blog_autokeras . I am at your entire disposal and open to any suggestions that will undoubtedly lead to improvements in my article.

Regards, Juan Cruz Rodriguez

skeydan commented 5 years ago

Hi Juan,

thanks for your interest in publishing on the blog! That's a very interesting and relevant for the community topic.

Can you create a PR so I could do some direct copy-editing on the text (if you don't mind my doing this)? You can always check if you're okay with my edits :-)

A few comments:

1) reg. install_autokeras()

As a user who probably already has keras installed, I'd ask myself if there's a way to not overwrite my current environment? Perhaps quickly mention both ways, in code?

2) Is there a way for the user to get information about the parameters of the trained models? If so, could you show an instructive display?

3) As a reader, I'd be curious to know a bit more here:

has few types of training tasks developed

Could you elaborate on that a little? Or if it's MLP-only, as of today, can you tell a bit about what's to come (in a general way)?

4) Do you have an image to be used as a thumbnail for the post (on the overview page https://blogs.rstudio.com/tensorflow/)? It could be something from an article, etc.

5) Could you provide a sentence with information about yourself? I'd like to introduce you to our readers at the beginning.

Thanks!

jcrodriguez1989 commented 5 years ago

Sigrid, thanks for reading and commenting my post!

Can you create a PR so I could do some direct copy-editing on the text (if you don’t mind my doing this)? You can always check if you’re okay with my edits :-)

Sure, a PR sounds better for me than posting an issue, I was just following the “Contribution guide”. I will do it immediately.

Of course I would not mind your edition!

  1. reg. install_autokeras()

As a user who probably already has keras installed, I’d ask myself if there’s a way to not overwrite my current environment? Perhaps quickly mention both ways, in code?

When creating the autokeras library, I decided to stick as closely as possible to the code style of the keras and tensorflow libraries. In this way, it would be easier to contribute for those users who had knowledge about the set of libraries of the TensorFlow for R group.

The install_autokeras() function is nothing more than doing a few checks, and then calling the install_keras() function with the Auto-Keras package in the extra_packages parameter. In this way, I take advantage of all the potential of the code developed in tensorflow and keras libraries.

The install_keras() function is the one that by default reinstalls each of the Python packages for Keras and TensorFlow.

Your suggestion would be that in the documentation of the install_autokeras() function notify that the Python packages will be reinstalled, and show an alternative so that it doesn’t happen (like suggesting the user indicate another environment)?

  1. Is there a way for the user to get information about the parameters of the trained models? If so, could you show an instructive display?

This is where the Auto-Keras development team comes in. Initially, their idea was to train Keras models, and hence to be able to obtain them once the optimal (final_fit()) was found. However, later they decided to become more independent from Keras, and have Auto-Keras models, for which the parameters cannot be obtained. Currently, with the recent inclusion of Auto-Keras in the keras-team is that, I assume, they are going to stick more to the way of working of Keras.

However, as the present version in PyPI (0.3.7) is pre-release, it presents several bugs, among them, a final model there are times that can be exported as a Keras model (h5) and therefore observe its parameters, and there are times when trying to export it gives an error (bug reported in Auto-Keras).

I have tried to get the h5 model from the example developed in this post, and it did give an error. Therefore, I would not propose to include this topic in the post.

  1. As a reader, I’d be curious to know a bit more here:

has few types of training tasks developed

Could you elaborate on that a little? Or if it’s MLP-only, as of today, can you tell a bit about what’s to come (in a general way)?

As stated above, being Auto-Keras a pre-release version, brings some issues regarding this question. For instance, the PyPI version, allows training ImageClassifier, ImageRegressor, TextClassifier, TextRegressor, TabularClassifier, and TabularRegressor. However, in the development version, at the moment, it allows training only ImageClassifier, ImageRegressor, and TextClassifier.

Maybe, in the post, I should mention this difference between the “stable” and development versions. Also that the Tabular classifier and regressor are going to be removed, but that the team is going to continue working on new DL tasks.

  1. Do you have an image to be used as a thumbnail for the post (on the overview page https://blogs.rstudio.com/tensorflow/)? It could be something from an article, etc.

Modifying a little Fig. 2 of the Auto-Keras paper I made an illustration that I think could be used as a thumbnail of the post. It can be seen in the repository at images/thumbnail.jpg.

  1. Could you provide a sentence with information about yourself? I’d like to introduce you to our readers at the beginning.

Summarizing a little what is in the index of my personal website, I think an about text could be something like:

Juan Cruz holds a master’s degree in Computer Science, he is finishing his master’s degree in Applied Statistics and a Ph.D. in Computer Science at the Universidad Nacional de Córdoba. He started his journey in the R programming language almost six years ago when he started applying Data Science concepts to Biological data. He enjoys developing projects with an aim in making informatics and Data Science available to everyone.

Sigrid, thank you very much for your suggestions. I look forward to further suggestions. Juan Cruz

skeydan commented 5 years ago

Great, I understand! Reg. (3), I've alluded to ongoing developments in my edits (leaving things open though).

Can you take a look if you're okay with my edits (pushed to the corresponding branch in your repo)?

Also, as knitting didn't work for me, I've changed the RMarkdown options to eval=FALSE (as we normally do). We then statically include the images (from the images directory). Would you mean doing this for the respective images?

The thumbnail is included already, it works fine I think!

When would you like the post published? I think that apart from the images it's pretty ready now and we could do it later today if you want :-)

Thanks, Sigrid

jcrodriguez1989 commented 5 years ago

Sigrid, Thank you so much for reviewing my post, and for rewriting some passages of it. I'm not sure how the process continues now. In my personal GitHub repository, I have already applied the requested editions, the only chunks that I set eval = TRUE are those three in which only the knitr::include_graphics("images/XX") line is executed. Is that correct? For my part, the post could be published as soon as you think :D

Thanks again, Juan Cruz

skeydan commented 5 years ago

Great! Could you check if you pushed to

https://github.com/jcrodriguez1989/tensorflow-blog/tree/tf_blog_autokeras

I don't see your last commit there (while I see mine)

skeydan commented 5 years ago

oh I see you just did, I'm going to pull :-)

jcrodriguez1989 commented 5 years ago

Sigrid, Glad to note that the system works so fast. I can see that the post is online at https://blogs.rstudio.com/tensorflow/posts/2019-04-16-autokeras/ However, my last changes are not reflected, i.e., I can't see the images. In my last commit, I have edited just into the _posts/2019-04-16-autokeras/ folder. I have not changed the docs/ folder.

skeydan commented 5 years ago

... and here we go: https://blogs.rstudio.com/tensorflow/posts/2019-04-16-autokeras/ :-)

The include_graphics worked fine when I checked out locally, but not after the merge, so I "hot-fixed" by statically including the images (apart from the second "2", which didn't render well - if it's okay I removed that paragraph then, as anyway it's not really related)

But it's looking great now! BTW: are you on twitter? I'm going to tweet this :-)

jcrodriguez1989 commented 5 years ago

Sure! Now it is looking really nice! the removed paragraph was mostly to inform users how easy it is to load image files thanks to Keras. I am on twitter with the newly created account @CancuCS .

Thanks for your help in making this post great! :)

skeydan commented 5 years ago

You're very welcome, thanks for contributing! Tweet upcoming...