{ "metadata": { "name": "", "signature": "sha256:01fde4d9e0b1aaa9618990e036c904c135356ccff95f2638dc70a22fb35c6ff8" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## FPGAs, hardware\n", "\n", "- Moore's law still applies for single-core FPGAs.\n", " - Millions of floating point operations per second (MFLOPS): 10 years ago 1, 5 years ago 5, 2 years ago 50, now 5000.\n", "- Don't consider wiring diagrams any more - FPGAs change so fast that tailoring a design to one particular FGPA is a waste of time.\n", "- Don't code in VHDL at all, even behavioural. Too low level.\n", "- Compilers are now capable of compiling C down to FPGAs, but used to make sub-optimal decisions.\n", " - FPGAs come with multiple floating point chips, multiple DSPs, and compiler not only needs to transform C but to schedule instructions on multiple chips, taking pipelines into account.\n", "- FPGAs just recently support 10 GbE.\n", "- Many tricks involved in making floating point operations faster\n", " - Align mantissa and exponents\n", " - Add small numbers first building up to large. Because adding large first means precision is impossible to maintain.\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Latent Dirichlet Allocation (LDA)\n", "\n", "- Generative model of topics within a body of text.\n", "- Supervised.\n", "- Topics are random variables generating tokens.\n", "- Refer to NLP notes for refresher on generative models." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##\u00a0Clustering\n", "\n", "- Markov Cluster Algorithm, [http://micans.org/mcl/](http://micans.org/mcl/)\n", " - Unsupervised, very fast, binary blob available." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##\u00a0Don't Use This Code\n", "\n", "- Lots of fun and insane hacks: [http://seriously.dontusethiscode.com/](http://seriously.dontusethiscode.com/)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##\u00a0IPython 2 Widgets\n", "\n", "- Incredible! Coming out April 2014.\n", "\n", "## General notes\n", "\n", "- Many are PhDs, many are hard core into e.g. MATLAB\n", "- Want to emphasise how awesome Python is.\n", "- Almost everyone prefers to use IPython Notebook, it's common knowledge.\n", " - For internal presentation, analyses, keeping notes and following presentations.\n", "- Cython has tremendous amount of mindshare, particular with NumPy. Almost standard.\n", "- Interesting that there are contrasting talks\n", " - \"Databases for Scientists\" and \"Scaling SQL\" both contrast to Hive and Pig, wrt MapReduce.\n", " - \"Getting it out there\" (JavaScript for webviz) contrasts with Bokeh (Python to auto-generate JavaScript) and IPython Notebook.\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def f(x):\n", " return (x-1) ** 2\n", "\n", "import scipy.optimize\n", "scipy.optimize.minimize_scalar(f)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ " fun: 0.0\n", " nfev: 5\n", " nit: 4\n", " x: 1.0" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "from IPython.core.display import HTML\n", "def css_styling():\n", " styles = open(\"styles/custom.css\", \"r\").read()\n", " return HTML(styles)\n", "css_styling()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", "\n" ], "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "%autosave 10" ], "language": "python", "metadata": {}, "outputs": [ { "javascript": [ "IPython.notebook.set_autosave_interval(10000)" ], "metadata": {}, "output_type": "display_data" }, { "output_type": "stream", "stream": "stdout", "text": [ "Autosaving every 10 seconds\n" ] } ], "prompt_number": 2 } ], "metadata": {} } ] }