You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.1 KiB
Plaintext
113 lines
3.1 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"source": [
|
|
"# Solutions\n",
|
|
"## Problem 1\n",
|
|
"Implement the Min-Max scaling function ($X'=a+{\\frac {\\left(X-X_{\\min }\\right)\\left(b-a\\right)}{X_{\\max }-X_{\\min }}}$) with the parameters:\n",
|
|
"\n",
|
|
"$X_{\\min }=0$\n",
|
|
"\n",
|
|
"$X_{\\max }=255$\n",
|
|
"\n",
|
|
"$a=0.1$\n",
|
|
"\n",
|
|
"$b=0.9$"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Problem 1 - Implement Min-Max scaling for grayscale image data\n",
|
|
"def normalize_grayscale(image_data):\n",
|
|
" \"\"\"\n",
|
|
" Normalize the image data with Min-Max scaling to a range of [0.1, 0.9]\n",
|
|
" :param image_data: The image data to be normalized\n",
|
|
" :return: Normalized image data\n",
|
|
" \"\"\"\n",
|
|
" a = 0.1\n",
|
|
" b = 0.9\n",
|
|
" grayscale_min = 0\n",
|
|
" grayscale_max = 255\n",
|
|
" return a + ( ( (image_data - grayscale_min)*(b - a) )/( grayscale_max - grayscale_min ) )"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Problem 2\n",
|
|
"- Use [tf.placeholder()](https://www.tensorflow.org/api_docs/python/io_ops.html#placeholder) for `features` and `labels` since they are the inputs to the model.\n",
|
|
"- Any math operations must have the same type on both sides of the operator. The weights are float32, so the `features` and `labels` must also be float32.\n",
|
|
"- Use [tf.Variable()](https://www.tensorflow.org/api_docs/python/state_ops.html#Variable) to allow `weights` and `biases` to be modified.\n",
|
|
"- The `weights` must be the dimensions of features by labels. The number of features is the size of the image, 28*28=784. The size of labels is 10.\n",
|
|
"- The `biases` must be the dimensions of the labels, which is 10."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"features_count = 784\n",
|
|
"labels_count = 10\n",
|
|
"\n",
|
|
"# Problem 2 - Set the features and labels tensors\n",
|
|
"features = tf.placeholder(tf.float32)\n",
|
|
"labels = tf.placeholder(tf.float32)\n",
|
|
"\n",
|
|
"# Problem 2 - Set the weights and biases tensors\n",
|
|
"weights = tf.Variable(tf.truncated_normal((features_count, labels_count)))\n",
|
|
"biases = tf.Variable(tf.zeros(labels_count))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Problem 3\n",
|
|
"Configuration 1\n",
|
|
"* **Epochs:** 1\n",
|
|
"* **Learning Rate:** 0.1\n",
|
|
"\n",
|
|
"Configuration 2\n",
|
|
"* **Epochs:** 4 or 5\n",
|
|
"* **Learning Rate:** 0.2"
|
|
]
|
|
}
|
|
],
|
|
"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.5.2"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 0
|
|
}
|