mirror of
https://github.com/clearml/clearml
synced 2025-01-31 17:17:00 +00:00
342 lines
84 KiB
Plaintext
342 lines
84 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Using TensorFlow backend.\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Trains - Example of integrating plots and training on jupyter notebook. \n",
|
|
"# In this example, simple graphs are shown, then an MNIST classifier is trained using Keras.\n",
|
|
"\n",
|
|
"from keras.callbacks import TensorBoard, ModelCheckpoint\n",
|
|
"from keras.datasets import mnist\n",
|
|
"from keras.models import Sequential\n",
|
|
"from keras.layers.core import Dense, Dropout, Activation\n",
|
|
"from keras.optimizers import SGD, Adam, RMSprop\n",
|
|
"from keras.utils import np_utils\n",
|
|
"\n",
|
|
"import numpy as np\n",
|
|
"import matplotlib.pyplot as plt\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"TRAINS Task: overwriting (reusing) task id=6de40029e54c41d7a1a24a1f2dc9cad2\n",
|
|
"TRAINS results page: https://demoapp.trains.allegro.ai/projects/087f765c846c4c76a7e9f3d035667d82/experiments/6de40029e54c41d7a1a24a1f2dc9cad2/output/log\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Connecting TRAINS\n",
|
|
"from trains import Task\n",
|
|
"task = Task.init(project_name = 'examples', task_name = 'notebook example')\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {
|
|
"scrolled": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Set script parameters\n",
|
|
"task_params = {'num_scatter_samples': 60, 'sin_max_value': 20, 'sin_steps': 30}\n",
|
|
"task_params = task.connect(task_params)\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Simple plots. You can view the plots in experiments results page "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"%matplotlib inline\n",
|
|
"N = task_params['num_scatter_samples']\n",
|
|
"x = np.random.rand(N)\n",
|
|
"y = np.random.rand(N)\n",
|
|
"colors = np.random.rand(N)\n",
|
|
"area = (50 * np.random.rand(N))**2 # 0 to 15 point radii\n",
|
|
"plt.scatter(x, y, s=area, c=colors, alpha=0.5)\n",
|
|
"plt.title('Nice Circles')\n",
|
|
"plt.show()\n",
|
|
"\n",
|
|
"x = np.linspace(0, task_params['sin_max_value'], task_params['sin_steps'])\n",
|
|
"y = np.sin(x)\n",
|
|
"plt.plot(x, y, 'o', color='black')\n",
|
|
"plt.title('Sinus Dots')\n",
|
|
"plt.show()\n",
|
|
"\n",
|
|
"m = np.eye(32, 32, dtype=np.uint8)\n",
|
|
"plt.imshow(m)\n",
|
|
"plt.title('sample output')\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Keras training example\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {
|
|
"scrolled": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Notice, Updating task_params is traced and updated in TRAINS\n",
|
|
"task_params['batch_size'] = 128\n",
|
|
"task_params['nb_classes'] = 10\n",
|
|
"task_params['nb_epoch'] = 6\n",
|
|
"task_params['hidden_dim'] = 512\n",
|
|
"batch_size = task_params['batch_size']\n",
|
|
"nb_classes = task_params['nb_classes']\n",
|
|
"nb_epoch = task_params['nb_epoch']\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"WARNING: Logging before flag parsing goes to stderr.\n",
|
|
"W1028 20:45:45.150056 139687276058368 deprecation_wrapper.py:119] From /usr/local/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py:74: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_default_graph instead.\n",
|
|
"\n",
|
|
"W1028 20:45:45.166742 139687276058368 deprecation_wrapper.py:119] From /usr/local/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py:517: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.\n",
|
|
"\n",
|
|
"W1028 20:45:45.170039 139687276058368 deprecation_wrapper.py:119] From /usr/local/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py:4138: The name tf.random_uniform is deprecated. Please use tf.random.uniform instead.\n",
|
|
"\n",
|
|
"W1028 20:45:45.228762 139687276058368 deprecation_wrapper.py:119] From /usr/local/lib/python3.7/site-packages/keras/optimizers.py:790: The name tf.train.Optimizer is deprecated. Please use tf.compat.v1.train.Optimizer instead.\n",
|
|
"\n",
|
|
"W1028 20:45:45.236253 139687276058368 deprecation_wrapper.py:119] From /usr/local/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py:3295: The name tf.log is deprecated. Please use tf.math.log instead.\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"60000 train samples\n",
|
|
"10000 test samples\n",
|
|
"_________________________________________________________________\n",
|
|
"Layer (type) Output Shape Param # \n",
|
|
"=================================================================\n",
|
|
"dense_1 (Dense) (None, 512) 401920 \n",
|
|
"_________________________________________________________________\n",
|
|
"activation_1 (Activation) (None, 512) 0 \n",
|
|
"_________________________________________________________________\n",
|
|
"dense_2 (Dense) (None, 512) 262656 \n",
|
|
"_________________________________________________________________\n",
|
|
"activation_2 (Activation) (None, 512) 0 \n",
|
|
"_________________________________________________________________\n",
|
|
"dense_3 (Dense) (None, 10) 5130 \n",
|
|
"_________________________________________________________________\n",
|
|
"activation_3 (Activation) (None, 10) 0 \n",
|
|
"=================================================================\n",
|
|
"Total params: 669,706\n",
|
|
"Trainable params: 669,706\n",
|
|
"Non-trainable params: 0\n",
|
|
"_________________________________________________________________\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"W1028 20:45:46.286724 139687276058368 deprecation.py:323] From /usr/local/lib/python3.7/site-packages/tensorflow/python/ops/math_grad.py:1250: add_dispatch_support.<locals>.wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n",
|
|
"Instructions for updating:\n",
|
|
"Use tf.where in 2.0, which has the same broadcast rule as np.where\n",
|
|
"W1028 20:45:46.357379 139687276058368 deprecation_wrapper.py:119] From /usr/local/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py:986: The name tf.assign_add is deprecated. Please use tf.compat.v1.assign_add instead.\n",
|
|
"\n",
|
|
"W1028 20:45:46.554848 139687276058368 deprecation_wrapper.py:119] From /usr/local/lib/python3.7/site-packages/keras/callbacks.py:796: The name tf.summary.histogram is deprecated. Please use tf.compat.v1.summary.histogram instead.\n",
|
|
"\n",
|
|
"W1028 20:45:46.574680 139687276058368 deprecation_wrapper.py:119] From /usr/local/lib/python3.7/site-packages/keras/callbacks.py:850: The name tf.summary.merge_all is deprecated. Please use tf.compat.v1.summary.merge_all instead.\n",
|
|
"\n",
|
|
"W1028 20:45:46.577096 139687276058368 deprecation_wrapper.py:119] From /usr/local/lib/python3.7/site-packages/keras/callbacks.py:853: The name tf.summary.FileWriter is deprecated. Please use tf.compat.v1.summary.FileWriter instead.\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Train on 60000 samples, validate on 10000 samples\n",
|
|
"Epoch 1/6\n",
|
|
"60000/60000 [==============================] - 4s 74us/step - loss: 0.2136 - acc: 0.9347 - val_loss: 0.1043 - val_acc: 0.9666\n",
|
|
"Epoch 2/6\n",
|
|
"60000/60000 [==============================] - 5s 76us/step - loss: 0.0811 - acc: 0.9751 - val_loss: 0.0691 - val_acc: 0.9772\n",
|
|
"Epoch 3/6\n",
|
|
"60000/60000 [==============================] - 5s 85us/step - loss: 0.0538 - acc: 0.9833 - val_loss: 0.0702 - val_acc: 0.9789\n",
|
|
"Epoch 4/6\n",
|
|
"60000/60000 [==============================] - 5s 82us/step - loss: 0.0385 - acc: 0.9880 - val_loss: 0.0711 - val_acc: 0.9807\n",
|
|
"Epoch 5/6\n",
|
|
"60000/60000 [==============================] - 5s 76us/step - loss: 0.0300 - acc: 0.9905 - val_loss: 0.0846 - val_acc: 0.9788\n",
|
|
"Epoch 6/6\n",
|
|
"60000/60000 [==============================] - 5s 75us/step - loss: 0.0227 - acc: 0.9931 - val_loss: 0.0782 - val_acc: 0.9814\n",
|
|
"Test score: 0.07817659145611801\n",
|
|
"Test accuracy: 0.9814\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# the data, shuffled and split between train and test sets\n",
|
|
"(X_train, y_train), (X_test, y_test) = mnist.load_data()\n",
|
|
"\n",
|
|
"X_train = X_train.reshape(60000, 784)\n",
|
|
"X_test = X_test.reshape(10000, 784)\n",
|
|
"X_train = X_train.astype('float32')\n",
|
|
"X_test = X_test.astype('float32')\n",
|
|
"X_train /= 255.\n",
|
|
"X_test /= 255.\n",
|
|
"print(X_train.shape[0], 'train samples')\n",
|
|
"print(X_test.shape[0], 'test samples')\n",
|
|
"\n",
|
|
"# convert class vectors to binary class matrices\n",
|
|
"Y_train = np_utils.to_categorical(y_train, nb_classes)\n",
|
|
"Y_test = np_utils.to_categorical(y_test, nb_classes)\n",
|
|
"\n",
|
|
"hidden_dim = task_params['hidden_dim']\n",
|
|
"model = Sequential()\n",
|
|
"model.add(Dense(hidden_dim, input_shape=(784,)))\n",
|
|
"model.add(Activation('relu'))\n",
|
|
"# model.add(Dropout(0.2))\n",
|
|
"model.add(Dense(hidden_dim))\n",
|
|
"model.add(Activation('relu'))\n",
|
|
"# model.add(Dropout(0.2))\n",
|
|
"model.add(Dense(10))\n",
|
|
"model.add(Activation('softmax'))\n",
|
|
"\n",
|
|
"model.summary()\n",
|
|
"\n",
|
|
"model.compile(loss='categorical_crossentropy',\n",
|
|
" optimizer=RMSprop(),\n",
|
|
" metrics=['accuracy'])\n",
|
|
"\n",
|
|
"board = TensorBoard(histogram_freq=1, log_dir='/tmp/histogram_example')\n",
|
|
"model_store = ModelCheckpoint(filepath='/tmp/weight.{epoch}.hdf5')\n",
|
|
"\n",
|
|
"model.fit(X_train, Y_train,\n",
|
|
" batch_size=batch_size, epochs=nb_epoch,\n",
|
|
" callbacks=[board, model_store],\n",
|
|
" verbose=1, validation_data=(X_test, Y_test))\n",
|
|
"score = model.evaluate(X_test, Y_test, verbose=0)\n",
|
|
"print('Test score:', score[0])\n",
|
|
"print('Test accuracy:', score[1])\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.7.0"
|
|
},
|
|
"pycharm": {
|
|
"stem_cell": {
|
|
"cell_type": "raw",
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"source": []
|
|
}
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|