In this project, we have to deal with two types of parameters.
The first type is the ml_engine settings, for example, the model name, training cycle, deployment URL etc. These fields are associated with all ml_engine projects.
The second type is the Tensorflow Python code's command line inputs, like the training data URL, testing data URL, error verbosity etc. It varies in kind (CSV URL, normal string, ...) and number with the Tensorflow code used in the project.
Since this module should be able to use any Tensorflow code, we must create an abstraction to select the Tensorflow input.

Comments

boaloysius created an issue. See original summary.

boaloysius’s picture

Issue summary: View changes
boaloysius’s picture

Title: Create entities for ML Engine Project and ML engine Input » Create an abstraction for ML engine Input
boaloysius’s picture

One of the issues is, we need only one input corresponding to each project. If we create the Project (ml_engine settings) as config entity (the bundle) and the Input as a content entity (under the project), how do we create a one-input-per-project restriction? The situation is similar to restricting only one article under the content type article.

In this video https://www.youtube.com/watch?v=6bl1wxQiJcw, I have achieved this one-to-one relation following the contact module. In the contact module, they have contact type as config entity and message as content entity. They use manage field to create custom fields for the message. They don't use message(content entity) to store and view data, instead, they use it to create the custom contact form. When contact/{contact_form} is loaded the form corresponding to the bundle is displayed using a controller. Please refer http://cgit.drupalcode.org/drupal/tree/core/modules/contact/contact.rout.... We want a similar UX flow. When the user clicks on the project bundle name, corresponding input entity form must be loaded. Added to this, we must be able to save and view the input data.

boaloysius’s picture

Issue summary: View changes