From ae666f895a4ade2abeed7b37c37c5f911f14df4a Mon Sep 17 00:00:00 2001 From: Matt Graham Date: Thu, 22 Dec 2016 23:42:21 +0000 Subject: [PATCH] Adding figures for TensorFlow intro notebook. --- notebooks/res/affine-transform-graph.png | Bin 0 -> 13239 bytes notebooks/res/computational-graphs.svg | 2002 ++++++++++++++++++++++ notebooks/res/pipeline-graph.png | Bin 0 -> 18721 bytes notebooks/res/rnn-graph.png | Bin 0 -> 21332 bytes notebooks/res/skip-connection-graph.png | Bin 0 -> 11392 bytes 5 files changed, 2002 insertions(+) create mode 100644 notebooks/res/affine-transform-graph.png create mode 100644 notebooks/res/computational-graphs.svg create mode 100644 notebooks/res/pipeline-graph.png create mode 100644 notebooks/res/rnn-graph.png create mode 100644 notebooks/res/skip-connection-graph.png diff --git a/notebooks/res/affine-transform-graph.png b/notebooks/res/affine-transform-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..50011eeb76dfdb9f6efba11a6dd8913acf0b6b49 GIT binary patch literal 13239 zcmXwg1z1#F7w*vAO2>zQC<=qp456eT-5nxGBQXpN-3S6ABHdC$Ne$fyB3;sr49t)c zLvxS+y?37J=bXLQ*=y|;?|RP%Ee&M~Qf5*R2t=XsNUUio#1hpUk}_nExd7w)1F4Y)8O_$+pgx>SdAhqyKUrpa� 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 PHXs#64TVZMtI+=g_Oxwn literal 0 HcmV?d00001 diff --git a/notebooks/res/computational-graphs.svg b/notebooks/res/computational-graphs.svg new file mode 100644 index 0000000..115e0f6 --- /dev/null +++ b/notebooks/res/computational-graphs.svg @@ -0,0 +1,2002 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Input + Hidden + Output + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MatMul + + Add + + + + + b + W + x + + y + + + MatMul + + + + Add + + + + + + b + W + x + + y + + diff --git a/notebooks/res/pipeline-graph.png b/notebooks/res/pipeline-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..540d7dcf725bebb68af8c8f953adb5d5b12f300f GIT binary patch literal 18721 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 literal 0 HcmV?d00001 diff --git a/notebooks/res/rnn-graph.png b/notebooks/res/rnn-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..16e43dbbd7cd825b3835dccbca8b7af952e40e78 GIT binary patch literal 21332 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 vV&O)|wnTye4 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