Skip to content

Commit

Permalink
created first tensorflow neurons notebook, updating other tensorflow …
Browse files Browse the repository at this point in the history
…notebooks to match formatting
  • Loading branch information
jonkrohn committed May 30, 2017
1 parent 384a6f2 commit 9ac8d41
Show file tree
Hide file tree
Showing 4 changed files with 268 additions and 96 deletions.
105 changes: 14 additions & 91 deletions notebooks/first_tensorflow_graphs.ipynb
Expand Up @@ -30,10 +30,7 @@
"outputs": [],
"source": [
"import numpy as np\n",
"np.random.seed(42)\n",
"import tensorflow as tf\n",
"tf.set_random_seed(42)\n",
"import matplotlib.pyplot as plt"
"import tensorflow as tf"
]
},
{
Expand Down Expand Up @@ -124,132 +121,58 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Layer of one hundred neurons (derived from Jon Gauthier's [slides](https://docs.google.com/presentation/d/1oB_U_JagxWQdQJlLD80XlNk6fuv42bHV0hfDAPGAbrc/edit#slide=id.p))"
"#### Simple array arithmetic"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# define a placeholder tensor for simulated MNIST digits\n",
"x = tf.placeholder(tf.float32, (None, 784))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# create Variable tensors for neuron biases b and weight matrix W\n",
"b = tf.Variable(tf.zeros((100,)))\n",
"W = tf.Variable(tf.random_uniform((784, 100), -1, 1))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# define the computational graph\n",
"z = tf.add(tf.matmul(x, W), b)\n",
"a = tf.sigmoid(z) # first with tf.sigmoid(), then tf.tanh(), tf.nn.relu()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"metadata": {},
"outputs": [],
"source": [
"# initialize a session\n",
"with tf.Session() as session:\n",
" session.run(tf.global_variables_initializer())\n",
" layer_output = session.run(a, {x: np.random.random((1, 784))}) # fetch \"a\" and feed \"x\""
" sum_result = session.run(sum_op, feed_dict={x1: [2.0, 2.0, 2.0], x2: [0.5, 1.0, 2.0]})\n",
" product_result = session.run(product_op, feed_dict={x1: [2.0, 4.0], x2: 0.5})"
]
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 2.14992696e-03, 2.99020763e-03, 9.95429397e-01,\n",
" 9.99999881e-01, 7.86750615e-01, 1.62361875e-01,\n",
" 4.29807663e-01, 1.77888738e-04, 8.71355442e-05,\n",
" 3.58231552e-02, 5.61740398e-01, 9.94202435e-01,\n",
" 9.76865530e-01, 9.90375340e-01, 9.84366834e-01,\n",
" 6.28304556e-02, 1.00000000e+00, 9.99996662e-01,\n",
" 2.11844551e-08, 9.99999881e-01, 1.48046252e-04,\n",
" 8.53867186e-06, 1.00000000e+00, 5.83484620e-02,\n",
" 9.98298705e-01, 1.37030572e-01, 9.94336426e-01,\n",
" 9.99997616e-01, 9.99892235e-01, 9.99938250e-01,\n",
" 9.99999762e-01, 5.66443354e-08, 1.00000000e+00,\n",
" 6.68175101e-01, 9.99422669e-01, 9.99954224e-01,\n",
" 9.99980330e-01, 9.99989390e-01, 9.63680446e-01,\n",
" 8.25454132e-04, 9.99933839e-01, 9.99717176e-01,\n",
" 3.09575852e-02, 9.99970436e-01, 9.99992013e-01,\n",
" 9.99779165e-01, 9.99658108e-01, 5.71554853e-03,\n",
" 7.71174200e-07, 3.65176966e-05, 1.67434841e-01,\n",
" 5.01761258e-01, 4.29360688e-01, 9.99999881e-01,\n",
" 9.99943376e-01, 5.05614851e-04, 2.57699343e-04,\n",
" 9.99999166e-01, 9.72518802e-01, 5.18093159e-08,\n",
" 8.39515924e-02, 9.46431041e-01, 9.97815609e-01,\n",
" 1.48713356e-04, 9.99893308e-01, 2.92946808e-02,\n",
" 3.69176109e-06, 6.21286640e-03, 9.99999642e-01,\n",
" 9.86650944e-01, 7.67428754e-03, 9.12920773e-01,\n",
" 1.35408825e-07, 3.74279008e-03, 9.95589018e-01,\n",
" 9.95435417e-01, 3.26925606e-01, 8.23837399e-01,\n",
" 9.99995351e-01, 1.81120358e-05, 5.26985347e-01,\n",
" 9.74540948e-04, 8.38382661e-01, 1.52607649e-09,\n",
" 5.65352477e-03, 1.87667290e-04, 8.99571121e-01,\n",
" 9.59998846e-01, 2.78342634e-01, 3.58333637e-04,\n",
" 6.76736933e-09, 5.97440004e-01, 1.00000000e+00,\n",
" 9.94188786e-01, 1.91094354e-01, 2.17532739e-03,\n",
" 3.82019609e-01, 9.34982207e-04, 9.99999762e-01,\n",
" 8.57010245e-01]], dtype=float32)"
"array([ 2.5, 3. , 4. ], dtype=float32)"
]
},
"execution_count": 11,
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"layer_output"
"sum_result"
]
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nGyfctamvAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fefbc773208>"
"array([ 1., 2.], dtype=float32)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "display_data"
"output_type": "execute_result"
}
],
"source": [
"_ = plt.hist(np.transpose(layer_output))"
"product_result"
]
},
{
Expand Down

0 comments on commit 9ac8d41

Please sign in to comment.