├── README.md ├── imagenet.png ├── useful_c++.md └── useful_things.md /README.md: -------------------------------------------------------------------------------- 1 | # Awesome deep learning and machine learning tutorials 2 | Links to useful online tutorials, blogposts, images etc. all about deep learning and machine learning. 3 | This is a work in progress and I will continue to add to to this list as and when I find useful things. 4 | 5 | ## Contributing 6 | If you have any nice tutorials or links you think I should add please submit as an issue and I will look at putting them in the list. Also if any of the links are broken please let me know so I can remove them or find alternatives. 7 | 8 | ## Contents 9 | - [Introducition to Machine Learning](#introduction-to-machine-learning) 10 | - [Deep Learning](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#deep-learning) 11 | - [Neural Networks](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#neural-networks) 12 | - [Large Language Models](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#large-language-models) 13 | - [Convolutional Neural Networks](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#convolutional-neural-networks) 14 | - [Normalization](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#normalization) 15 | - [Attention and Transformers](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#attention) 16 | - [Recurrent Neural Networks](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#recurrent-neural-networks) 17 | - [Tensorflow](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#tensorflow) 18 | - [Tensorflow 2/Keras api](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#tensorflow-20--keras-api) 19 | - [Pytorch](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#pytorch) 20 | - [Linear Algebra](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#linear-algebra) 21 | - [Optimisation](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#optimisation) 22 | - [Generative Models](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#generative-models) 23 | - [Natural Language Processing](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#natural-language-processing) 24 | - [Computer Vision](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#computer-vision) 25 | - [Action recognition](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#action-recognition) 26 | - [Object Detection](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#object-detection) 27 | - [Reinforcement Learning](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#reinforcement-learning) 28 | - [Anomaly Detection](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#anomaly-detection) 29 | - [Diffusion models](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#diffusion-models) 30 | - [Projects](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#projects) 31 | - [Research papers](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#research-papers) 32 | - [Datasets](https://github.com/Burton2000/Awesome-DeepLearning-Tutorials#datasets) 33 | 34 | ## Introduction to Machine Learning 35 | * Andrew Ng https://www.coursera.org/learn/machine-learning 36 | * Elements of Statistical Learning (Ch.1-4/7) http://statweb.stanford.edu/%7Etibs/ElemStatLearn/printings/ESLII_print10.pdf 37 | * Machine/Deep Learning cheatsheets https://github.com/kailashahirwar/cheatsheets-ai 38 | * Geoffrey Hinton Neural Networks for Machine Learning https://www.coursera.org/learn/neural-networks 39 | 40 | ## Deep Learning 41 | * Andrew Ng (2017) https://www.coursera.org/specializations/deep-learning 42 | 43 | ## Neural Networks 44 | * Visual proof of NN universal approximation http://neuralnetworksanddeeplearning.com/chap4.html 45 | 46 | ## Large Language Models 47 | * Rotary Positional Embeddings (RoPE) https://medium.com/ai-insights-cobet/rotary-positional-embeddings-a-detailed-look-and-comprehensive-understanding-4ff66a874d83 48 | * Rotary Positional Embeddings (RoPE) https://blog.eleuther.ai/rotary-embeddings/ 49 | 50 | ## Convolutional Neural Networks 51 | * CNN basics explained well (explaining kernels) https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner%27s-Guide-To-Understanding-Convolutional-Neural-Networks/ 52 | * Explaining different convolution types https://towardsdatascience.com/types-of-convolutions-in-deep-learning-717013397f4d 53 | * Receptive field calculation https://medium.com/mlreview/a-guide-to-receptive-field-arithmetic-for-convolutional-neural-networks-e0f514068807 54 | * Calculate output size for Transpose Convolution https://www.quora.com/How-do-you-calculate-the-output-dimensions-of-a-deconvolution-network-layer 55 | 56 | ### Normalization 57 | * Experiments on placement of batchnorm in Resnets http://torch.ch/blog/2016/02/04/resnets.html 58 | * Different normalization methods explained https://mlexplained.com/2018/11/30/an-overview-of-normalization-methods-in-deep-learning/ 59 | 60 | ### Attention 61 | * Soft attention for images https://jhui.github.io/2017/03/15/Soft-and-hard-attention/ 62 | * seq2seq Encoder decoder attention explained https://jalammar.github.io/visualizing-neural-machine-translation-mechanics-of-seq2seq-models-with-attention/ 63 | * Transformers explained http://jalammar.github.io/illustrated-transformer/ 64 | * Transformers explained https://towardsdatascience.com/transformers-141e32e69591 65 | * Transformers explained http://mlexplained.com/2017/12/29/attention-is-all-you-need-explained/ 66 | 67 | ## Recurrent Neural Networks 68 | * LSTM basics http://colah.github.io/posts/2015-08-Understanding-LSTMs/ 69 | * CTC loss https://towardsdatascience.com/intuitively-understanding-connectionist-temporal-classification-3797e43a86c 70 | * Beam search decoding https://towardsdatascience.com/beam-search-decoding-in-ctc-trained-neural-networks-5a889a3d85a7 71 | 72 | ## Tensorflow 73 | * Freezing/saving and serving a model https://blog.metaflow.fr/tensorflow-how-to-freeze-a-model-and-serve-it-with-a-python-api-d4f3596b3adc 74 | * Various tutorials/ipynb https://github.com/aymericdamien/TensorFlow-Examples 75 | * Various resources https://github.com/astorfi/Awsome-TensorFlow-Resources 76 | * Various resources https://github.com/jtoy/awesome-tensorflow 77 | * Various resources https://github.com/astorfi/TensorFlow-World-Resources 78 | * TFRecord example http://warmspringwinds.github.io/tensorflow/tf-slim/2016/12/21/tfrecords-guide/ 79 | * TFRecord for images explained https://planspace.org/20170403-images_and_tfrecords/ 80 | * Visualise TF graphs in ipynb https://blog.jakuba.net/2017/05/30/tensorflow-visualization.html 81 | * Profiling/tracing TF https://medium.com/towards-data-science/howto-profile-tensorflow-1a49fb18073d 82 | * Eager mode (dynamic graphs) https://medium.com/@yaroslavvb/tensorflow-meets-pytorch-with-eager-mode-714cce161e6c 83 | * Dataset api buffer_size meaning https://stackoverflow.com/questions/46444018/meaning-of-buffer-size-in-dataset-map-dataset-prefetch-and-dataset-shuffle 84 | * Import a .pb model to tensorboard https://medium.com/@daj/how-to-inspect-a-pre-trained-tensorflow-model-5fd2ee79ced0 85 | * Different Dataset API Iterators explained https://towardsdatascience.com/how-to-use-dataset-in-tensorflow-c758ef9e4428 86 | * Scoping and sharing variables https://jhui.github.io/2017/03/08/TensorFlow-variable-sharing/ 87 | * Quantization aware training https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/quantize/README.md 88 | * TFLite conversion https://github.com/tensorflow/tensorflow/blob/865b2783aad179eaf06161d016a42fbd4c18bfb4/tensorflow/contrib/lite/g3doc/convert/cmdline_examples.md 89 | * tf.data https://dominikschmidt.xyz/tensorflow-data-pipeline/ 90 | 91 | ## Tensorflow 2.0 / Keras API 92 | * Image classification basics https://lambdalabs.com/blog/tensorflow-2-0-tutorial-01-image-classification-basics/ 93 | * Word embeddings in Keras https://machinelearningmastery.com/use-word-embedding-layers-deep-learning-keras/ 94 | * Symbolic (functional) vs imperative (subclassing) api https://medium.com/tensorflow/what-are-symbolic-and-imperative-apis-in-tensorflow-2-0-dfccecb01021 95 | * Overview of TF 2.0 high level apis https://medium.com/tensorflow/standardizing-on-keras-guidance-on-high-level-apis-in-tensorflow-2-0-bad2b04c819a 96 | * Reinforcment learning in TensorFlow 2.0 http://inoryy.com/post/tensorflow2-deep-reinforcement-learning/ 97 | * Quantization https://gist.github.com/NobuoTsukamoto/0470fa22f3808f305db1fd4fbe01e3e4 98 | 99 | 100 | ## PyTorch 101 | * Variety of pretrained models and training scripts https://github.com/aaron-xichen/pytorch-playground 102 | * Intro to PyTorch for Kaggle competitions https://github.com/bfortuner/pytorch-kaggle-starter 103 | * Cheat sheet https://github.com/Tgaaly/pytorch-cheatsheet/blob/master/README.md 104 | * Cheat sheet with examples https://github.com/bfortuner/pytorch-cheatsheet/blob/master/pytorch-cheatsheet.ipynb 105 | * Migrating to PyTorch 0.4 https://pytorch.org/blog/pytorch-0_4_0-migration-guide/ 106 | * Dearling with variable length sequences https://medium.com/@sonicboom8/sentiment-analysis-with-variable-length-sequences-in-pytorch-6241635ae130 107 | 108 | ## Linear Algebra 109 | * https://medium.com/towards-data-science/linear-algebra-cheat-sheet-for-deep-learning-cd67aba4526c#.nfoveoe56 110 | * http://parrt.cs.usfca.edu/doc/matrix-calculus/index.html 111 | 112 | ## Optimisation 113 | * Momentum - http://distill.pub/2017/momentum/ 114 | 115 | ## Generative Models 116 | ### Variational Autoencoders 117 | * http://kvfrans.com/variational-autoencoders-explained/ 118 | ### Generative Adversarial Networks (GANS) 119 | * Overview of differences in losses for different GANS https://github.com/hwalsuklee/tensorflow-generative-model-collections 120 | * 17 hacks for training GANS https://github.com/soumith/ganhacks 121 | * Picture of why GANs are cool https://ai2-s2-public.s3.amazonaws.com/figures/2016-11-08/546b3592f59b3445ef12fba506b729c832198c33/2-Figure3-1.png 122 | 123 | ## Natural language processing 124 | * CS224n https://www.youtube.com/watch?v=OQQ-W_63UgQ&list=PL3FW7Lu3i5Jsnh1rnUwq_TcylNr7EkRe6 125 | * CS224n cheat sheet https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-recurrent-neural-networks 126 | * Word2Vec http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/ 127 | * Alternatives to RNN for encoding https://hanxiao.github.io/2018/06/25/4-Encoding-Blocks-You-Need-to-Know-Besides-LSTM-RNN-in-Tensorflow/ 128 | * Some PyTorch examples of basic NLP tasks https://github.com/lyeoni/nlp-tutorial 129 | 130 | ## Automatic speech recognition and KWS 131 | * Calculating MFCC http://practicalcryptography.com/miscellaneous/machine-learning/guide-mel-frequency-cepstral-coefficients-mfccs/ 132 | 133 | ## Computer vision 134 | * CS231n https://www.youtube.com/watch?v=vT1JzLTH4G4&list=PL3FW7Lu3i5JvHM8ljYj-zLfQRF3EO8sYv 135 | * CS231n Cheat sheet https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks#filter 136 | 137 | ## Semantic segmentation 138 | * Overview of architectures https://medium.com/@arthur_ouaknine/review-of-deep-learning-algorithms-for-image-semantic-segmentation-509a600f7b57 139 | 140 | ## Action recognition 141 | * Summary of state of the art http://blog.qure.ai/notes/deep-learning-for-videos-action-recognition-review 142 | 143 | ## Super resolution 144 | * Intro to super resolution with cnn https://medium.com/@hirotoschwert/introduction-to-deep-super-resolution-c052d84ce8cf 145 | 146 | ## Object detection 147 | * Yolov3 https://blog.paperspace.com/how-to-implement-a-yolo-object-detector-in-pytorch/ 148 | * Yolov3 code http://leiluoray.com/2018/11/10/Implementing-YOLOV3-Using-PyTorch/?fbclid=IwAR2y0tNAxWq3kij4YFn99pW6jYB3CFmMd4gos2H1Al_bFMPgZ-QW_qekKb8 149 | 150 | ## Reinforcement learning 151 | * David Silver Deepmind lectures https://www.youtube.com/playlist?list=PLeJKOhW5z62XKURemUDc3N92Min9yaR12 152 | * Intro to RL algorithms https://medium.com/@huangkh19951228/introduction-to-various-reinforcement-learning-algorithms-i-q-learning-sarsa-dqn-ddpg-72a5e0cb6287 153 | * Intro to RL https://medium.freecodecamp.org/an-introduction-to-reinforcement-learning-4339519de419 154 | 155 | ## Anomaly detection 156 | * Autoencoder for fraud detection https://medium.com/@curiousily/credit-card-fraud-detection-using-autoencoders-in-keras-tensorflow-for-hackers-part-vii-20e0c85301bd 157 | 158 | ## Diffusion models 159 | * Cheat code for diffusion models https://sander.ai/2022/05/26/guidance.html 160 | * Illustrated stable diffusion http://jalammar.github.io/illustrated-stable-diffusion/ 161 | * Stable diffusion using hugging face https://towardsdatascience.com/stable-diffusion-using-hugging-face-501d8dbdd8 162 | * Stable diffusion using hugging face - variants https://towardsdatascience.com/stable-diffusion-using-hugging-face-variations-of-stable-diffusion-56fd2ab7a265 163 | * Why do we need unconditional embedding https://forums.fast.ai/t/why-do-we-need-the-unconditioned-embedding/101134/11 164 | * Stable diffusion code deep dive https://github.com/fastai/diffusion-nbs/blob/master/Stable%20Diffusion%20Deep%20Dive.ipynb 165 | 166 | ## Recommender systems 167 | * Intro to recommendation systems https://medium.com/datadriveninvestor/how-to-built-a-recommender-system-rs-616c988d64b2 168 | 169 | ## Projects 170 | ### Self driving cars 171 | * https://github.com/CYHSM/carnd 172 | ### RNN chatbot 173 | * https://adeshpande3.github.io/How-I-Used-Deep-Learning-to-Train-a-Chatbot-to-Talk-Like-Me 174 | 175 | ## Research Papers 176 | * Collection of links https://github.com/terryum/awesome-deep-learning-papers/blob/master/README.md 177 | * Collection of links https://github.com/sbrugman/deep-learning-papers 178 | * Pose estimation https://arxiv.org/abs/1312.4659 179 | * Object detection https://arxiv.org/abs/1311.2524 180 | * Object detection https://arxiv.org/abs/1312.2249 181 | * Object detection https://arxiv.org/abs/1412.1441 182 | * Object detection https://arxiv.org/abs/1506.01497 (Faster R-CNN) 183 | * Object detection https://arxiv.org/abs/1506.02640 (YOLO) 184 | * Object detection https://arxiv.org/abs/1512.02325 (SSD) 185 | * Object detection https://arxiv.org/abs/1611.10012 (Object detection comparison) 186 | * Semantic segmentation https://arxiv.org/abs/1511.00561 (Segnet) 187 | * Semantic segmentation https://arxiv.org/abs/1505.07293 (Segnet) 188 | * Semantic segmentation https://arxiv.org/abs/1511.02680 (Bayesian Segnet) 189 | * Network architectures https://arxiv.org/abs/1602.07360 (SqueezeNet) 190 | * Network architectures https://arxiv.org/abs/1606.00373 (Fully Convolution ResNet) 191 | * Re Identification https://arxiv.org/abs/1703.07737 (In defence of triplet loss) 192 | * Depth estimation https://arxiv.org/abs/1406.2283 (Depth map prediction, multi-scale deep network) 193 | * Depth estimation https://arxiv.org/abs/1411.4734 (Depth, surface normals & semnatic labels with common multi scale conv.) 194 | * Depth estimation https://arxiv.org/abs/1411.6387 (Deep conv neural fields for depth estimation from a single image) 195 | * Network understanding https://arxiv.org/abs/1701.04128 (Understanding effective receptive field in deep CNN) 196 | * Self driving cars https://arxiv.org/pdf/1704.07911.pdf (Explaining How a DNN can steer a car NVIDIA) 197 | * Resnet paper https://arxiv.org/pdf/1512.03385.pdf 198 | * Quantization https://arxiv.org/pdf/1502.02551.pdf 199 | * Quantization http://proceedings.mlr.press/v48/linb16.pdf 200 | * Quantization https://www.microsoft.com/en-us/research/wp-content/uploads/2017/04/FxpNet-submitted.pdf 201 | * Quantization https://arxiv.org/pdf/1703.03073.pdf 202 | * Quantizatoin https://arxiv.org/pdf/1605.06402.pdf (ristretto) 203 | * Super Resolution with GANs https://arxiv.org/pdf/1609.04802.pdf 204 | * Instance segmentation https://arxiv.org/abs/1703.06870 (Mask R-CNN) 205 | * EfficientNets (how to scale up network architectures) https://arxiv.org/pdf/1905.11946.pdf 206 | * CNNs trained on ImageNet learn textures rather than shapes https://arxiv.org/pdf/1811.12231.pdf 207 | 208 | ## Datasets 209 | * NLP https://github.com/niderhoff/nlp-datasets 210 | * MNIST png format https://github.com/myleott/mnist_png 211 | -------------------------------------------------------------------------------- /imagenet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Burton2000/Awesome-DeepLearning-Tutorials/d7d65ca798646e4fb96907fb83547df20b5a33e1/imagenet.png -------------------------------------------------------------------------------- /useful_c++.md: -------------------------------------------------------------------------------- 1 | **Design patterns** 2 | https://refactoring.guru/design-patterns/cpp 3 | 4 | **Modern C++** 5 | https://github.com/AnthonyCalandra/modern-cpp-features 6 | -------------------------------------------------------------------------------- /useful_things.md: -------------------------------------------------------------------------------- 1 | ## Add artifactory lfs to a mirror repo (assume you are alread mirroring) 2 | - GIT_LFS_SKIP_SMUDGE=1 git checkout upstream/main 3 | - git remote add github git@github.com:ORG/REPO.git 4 | - git fetch github --prune 5 | - git remote add artifactory . 6 | - git config remote.artifactory.lfsurl "https:///artifactory/api/lfs/" 7 | - git config remote.artifactory.lfspushurl "https:///artifactory/api/lfs/" 8 | - git lfs fetch --all github 9 | - git lfs push --all artifactory 10 | 11 | ## Installing NCCL and caffe ## 12 | - http://www.nvidia.com/object/caffe-installation.html 13 | 14 | ## Install nvidia toolkit on Linux (Ubuntu 16.04) (installs an old driver at the same time) 15 | - Download the CUDA Toolkit 8.0 https://developer.nvidia.com/cuda-80-ga2-download-archive 16 | - sudo shutdown -r 0 17 | - press ctrl+alt+f4 to bring up terminal then login 18 | - sudo service lightdm stop 19 | - Follow all instructions found on this link: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions 20 | - Add the following to your .bashrc: 21 | 22 | `export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}$` 23 | 24 | `export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}` 25 | 26 | ## Install latest nvidia drivers on Linux (Ubuntu 16.04) 27 | - Download the latest driver from here http://www.nvidia.co.uk/Download/index.aspx?lang=uk selecting Linux 64 bit 28 | - sudo shutdown -r 0 29 | - press ctrl+alt+f4 to bring up terminal then login 30 | - sudo service lightdm stop 31 | - sudo sh NVIDIA-Linux-x86_64-384.81_linux.run 32 | - accept and say yes to everything 33 | - sudo shutdown -r 0 34 | 35 | ## Adjust fan speed Nvidia gpu on Linux ## 36 | In a terminal enter: 37 | 38 | `nvidia-xconfig --enable-all-gpus` 39 | 40 | `nvidia-xconfig --cool-bits=4` 41 | 42 | Then restart your computer and nvidia x settings should have a gpu fan speed option. 43 | 44 | 45 | ## Caffe calculation of pool/conv spatial sizes ## 46 | In caffe pooling and conv. operations are treated differently for output spatial size. 47 | - For pooing output size is ` top_size = ceil((bottom_size + 2*pad - kernel_size) / stride) + 1` 48 | - For conv. output size is ` top_size = floor((bottom_size + 2*pad - kernel_size) / stride) + 1` 49 | - https://github.com/BVLC/caffe/issues/1318 50 | 51 | ## Caffe python layers with preloading 52 | - https://stackoverflow.com/questions/48057841/how-to-write-a-caffe-python-data-layer-with-preload/48065550#48065550 53 | 54 | ## Anaconda environments and running spyder ## 55 | - https://conda.io/docs/using/envs.html#change-environments-activate-deactivate 56 | - http://stackoverflow.com/questions/30170468/how-to-run-spyder-in-virtual-environment 57 | 58 | ## Install tensorflow on Windows ## 59 | The best way to install Tensorflow on Windows is to use a conda environment, this will create a python environment seperate from your system python so installing Tensorflow does not change anything with your system python libraries this can be done as follows: 60 | 61 | - Install the latest Anaconda Python 3 version (https://www.anaconda.com/download/) 62 | - Open an Anaconda prompt and run the following 63 | - `conda create --name nameofenv python=3.6 anaconda` (this creates a python 3.6 env. called nameofenv <- you can change this name to something else) 64 | - Open an anaconda prompt for your newly created environment (will be in the start menu) and run the following: 65 | - `pip install --ignore-installed --upgrade tensorflow` 66 | 67 | To use this created environment with Tensorflow within Pycharm we must change the Pycharm interpreter settings. This is done as follows: 68 | 69 | - Open your Pycharm project 70 | - File -> Settings 71 | - Click on Project Interpreter under Project: 72 | - Click the Settings wheel then 'Add local' 73 | - Find the python.exe for your created environment (this locaton can be found by opening an Anaconda prompt of your environment where it will tell you where to look) 74 | - Select the python.exe of your created environment 75 | - Done! 76 | 77 | ## Install Anaconda on ubuntu ## 78 | - `mkdir conda` 79 | - `cd conda` (create and go to a new directory for us to download anaconda install scripts to) 80 | - `wget https://repo.continuum.io/archive/Anaconda3-5.0.0.1-Linux-x86_64.sh` (get latest link from https://www.anaconda.com/download/#linux) 81 | - `bash Anaconda3-5.0.0.1-Linux-x86_64.sh` 82 | - This will give an ouput where you need to press `ENTER` to continue and then keep pressing `ENTER` to read through the license. 83 | - Agree to the license by typing `yes` 84 | - Install location will be shown now, if you are happy with it press `ENTER` to continue or change to something else 85 | - Install will take a bit of time but once its finished it will ask if you want to update your bashrc with the anaconda path, you should type `yes` so you can use the `conda` command. 86 | - `source ~/.bashrc` to refresh your updataed bashrc 87 | - Check its all installed by typing `conda list` this should show all the packages available to you 88 | 89 | ## Create Anaconda environments on ubuntu ## 90 | - `conda create --name my_env python=3` you can leave out the pyton argument if you dont want to specify exactly what python version 91 | - `source activate my_evn` to activate your environment, your command prompt prefix should change to include the name of your environment 92 | 93 | ## Install Tensorflow Ubuntu ## 94 | https://www.tensorflow.org/install/install_linux#InstallingAnaconda 95 | 96 | ## Change number of samples used when displaying in Tensorboard 97 | - From your python installation modify .../lib/python3.6/site-packages/tensorboard/backend/application.py 98 | - Change the DEFAULT_TENSOR_SIZE_GUIDANCE values to increase the number of samples used to produce tensorboard results 99 | 100 | https://stackoverflow.com/a/43743761/7431458 101 | 102 | ## Change home folder and remove token access in Jupyter Notebook ## 103 | `jupyter notebook --ip=* --generate-config` 104 | 105 | This will generate a config file, edit this config file: 106 | 107 | set: 108 | 109 | 110 | - c.NotebookApp.notebook_dir = '' 111 | 112 | to change the folder notebook opens with and set: 113 | 114 | - c.NotebookApp.token = '' 115 | 116 | to disable token requirement 117 | 118 | these were lines 195 and 243 for me! 119 | 120 | ## Install hdf5 on ubuntu 16.04 ## 121 | First: 122 | - `sudo apt-get install libhdf5-*` (installs libhdf5 libs) 123 | - `sudo apt-get install hdf5-*` (install all other hdf5 stuff) 124 | 125 | Then if you are using QT you can add these to your QT .pro file: 126 | 127 | - `- INCLUDEPATH += /usr/include/hdf5/serial` 128 | - `- LIBS += -L/usr/lib/x86_64-linux-gnu/` 129 | 130 | ## g++ basic compiler options 131 | http://web.engr.oregonstate.edu/~rubinma/Mines_274/Content/Slides/05_compilation.pdf 132 | 133 | ## Codec for video compression in virtualdub 134 | - https://www.videohelp.com/software/ffdshow 135 | 136 | ## Number representation explained 137 | https://www.ntu.edu.sg/home/ehchua/programming/java/DataRepresentation.html 138 | 139 | ## Python 140 | 141 | Matplotlib remove whitespace in a figure (Domagoj): 142 | - https://stackoverflow.com/questions/9295026/matplotlib-plots-removing-axis-legends-and-white-spaces 143 | 144 | scipy.misc.imresize float/uint8 problem: 145 | - https://github.com/scipy/scipy/issues/4458 146 | 147 | Differences between map, apply, map_async, apply_async or multiprocessing 148 | - http://blog.shenwei.me/python-multiprocessing-pool-difference-between-map-apply-map_async-apply_async/ 149 | 150 | ## error: Unable to find vcvarsall.bat ## 151 | 152 | Encounted this issue when trying to use Cython in Windows. This is caused by not have a c/c++ compiler installed. Quickest solution is to install this: 153 | 154 | http://landinghub.visualstudio.com/visual-cpp-build-tools 155 | 156 | You can also install visual studio 2015 and should fix the problem. 157 | 158 | ## Ubuntu batch rename files 159 | 160 | - `for f in *.png; do mv "$f" "${f#image}"; done` (in this example rename all *.png removing 'image' from their name) 161 | 162 | ## Ubuntu split text file up 163 | - `https://stackoverflow.com/questions/2016894/how-to-split-a-large-text-file-into-smaller-files-with-equal-number-of-lines` 164 | 165 | ## Ubuntu find out disk space 166 | 167 | - `du -h --max_length=1` will give size of all things in current folder 168 | - `df -h ` will give overall free/used space on each disk 169 | 170 | ## Ubuntu mounting network drives issue 171 | 172 | If you mount a network filesystem and the folders when mounted are empty or you get an error like: "wrong fs type, bad option, bad superblock" then you may just need to install cifs-utils. If mount.cifs is not in your /sbin then do 173 | 174 | `sudo apt-get install cifs-utils` 175 | 176 | https://askubuntu.com/questions/525243/why-do-i-get-wrong-fs-type-bad-option-bad-superblock-error 177 | 178 | You may need to do `sudo mount -a` to enter passwords for network drives. 179 | 180 | ## Ubuntu redirect stderr 181 | For example to redirect stderr from a python file: 182 | `python some_file.py 2> output.txt` 183 | 184 | ## Setting up minicom in Ubuntu for serial port terminal 185 | http://processors.wiki.ti.com/index.php/Setting_up_Minicom_in_Ubuntu 186 | 187 | ## Tensorflow windows/ubuntu cupti dll/so missing for tracing 188 | Windows 189 | - When using CUDA 8.0, the file cupti64_80.dll lies in `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\CUPTI\libx64`. I fixed the problem by copying the dll into `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin`, and the file `cupti.lib` in the same location into `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64`. And it works! 190 | 191 | Ubuntu 192 | - Same issue for ubuntu, the file is located in `\usr\local\cuda-8.0\extras\CUPTO\lib64\libcupti.so.8.0` move it to `\usr\local\cuda-8.0\lib64\` 193 | 194 | ## Start mongodb on system startup 195 | `sudo systemctl enable mongod.service` 196 | https://askubuntu.com/questions/61503/how-to-start-mongodb-server-on-system-start 197 | 198 | ## TensorFlow disable warnings 199 | - https://stackoverflow.com/a/38645250/7431458 200 | 201 | ## Numpy serialize comparison 202 | - http://satoru.rocks/2018/08/fastest-way-to-serialize-array/ 203 | 204 | ## Changing gcc/g++ version on ubuntu 205 | Example installing gcc8 g++8 206 | - sudo add-apt-repository ppa:ubuntu-toolchain-r/test 207 | - sudo apt-get update 208 | - sudo apt-get install gcc-8 g++-8 209 | - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 \ 210 | --slave /usr/bin/g++ g++ /usr/bin/g++-8 211 | - sudo update-alternatives --config gcc 212 | 213 | ## Find webcam supported resolutions linux 214 | - https://askubuntu.com/questions/214977/how-can-i-find-out-the-supported-webcam-resolutions 215 | 216 | ## Remove windows '\r' end of lines from file 217 | - `sed -i 's/\r//g' script.sh` 218 | 219 | ## Simple discrete fourier transform implementaion 220 | - https://www.nayuki.io/page/how-to-implement-the-discrete-fourier-transform 221 | 222 | ## Leetcode 223 | - https://hackernoon.com/14-patterns-to-ace-any-coding-interview-question-c5bb3357f6ed 224 | --------------------------------------------------------------------------------