import gradio as gr import tensorflow as tf # Create a Gradio App using Blocks with gr.Blocks() as demo: gr.Markdown( """ # AI/ML Playground """ ) with gr.Accordion("Click for Instructions:"): gr.Markdown( """ * Train/Eval will setup, train, and evaluate the base model """) def modelTraining(): print("TensorFlow version:", tf.__version__) mnist = tf.keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10) ]) predictions = model(x_train[:1]).numpy() print(predictions) tf.nn.softmax(predictions).numpy() loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True) loss_fn(y_train[:1], predictions).numpy() model.compile(optimizer='adam', loss=loss_fn, metrics=['accuracy']) model.fit(x_train, y_train, epochs=5) model.evaluate(x_test, y_test, verbose=2) return "done" # Creates the Gradio interface objects with gr.Row(): with gr.Column(scale=1): submit_btn = gr.Button(value="Train/Eval") with gr.Column(scale=2): model_data = gr.Text(label="Model Results", interactive=False) submit_btn.click(modelTraining, [], model_data) # creates a local web server # if share=True creates a public # demo on huggingface.co demo.launch(share=False)