Saturday, September 17, 2016

How to begin your deep learning journey?

This quora is best place to find the answer.

https://www.quora.com/How-do-I-learn-deep-learning-in-2-months/answer/Vivek-Kumar-893

Thursday, August 25, 2016

cuda_ndarray.cu error

ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: libcublas.so.6.5 cannot open shared object file: No such file or directory

solved by the following command:
sudo ldconfig /usr/local/cuda/lib64

refer to http://www.th7.cn/system/lin/201508/123570.shtml

Friday, August 19, 2016

An important material for deep reinforcement learning
https://www.nervanasys.com/demystifying-deep-reinforcement-learning/

Saturday, January 10, 2015

logic learning material

A good website to guide how to learn logic by yourself, mark it
http://www.logicmatters.net/tyl/

short guide:
http://www.logicmatters.net/tyl/shorter-tyl/.

Especially for the first order:

1. Basic first-order logic

  • Read Ian Chiswell and Wilfrid Hodges, Mathematical Logic (OUP 2007) for a  natural deduction approach, followed by
  • Christopher Leary A Friendly Introduction to Mathematical Logic (Prentice Hall 2000) up to §3.2, or Herbert Enderton, A Mathematical Introduction to Logic(Academic Press 1972, 2002) up to §2.5, for an axiomatic approach.
  • If you struggle slightly, or  just want a comfortingly manageable additional text: Derek Goldrei’s Propositional and Predicate Calculus: A Model of Argument (Springer, 2005) is explicitly designed for self-study. Read Chs. 1 to 5 (except for §§4.4, 4.5).
  • Then for overview/revision/sideways looks at other ways of doing things: Wilfrid Hodges,  ‘Elementary Predicate Logic’, in the Handbook of Philosophical Logic, Vol. 1, ed. by D. Gabbay and F. Guenthner, (Kluwer 2nd edition 2001, but little changed from 1st edition). Read first twenty short sections.

Sunday, June 8, 2014

star(*) and double star(**) in python

cc from http://stackoverflow.com/questions/36901/what-does-double-star-and-star-do-for-python-parameters.
Mark here:
The *args and **kwargs is a common idiom to allow arbitrary number of arguments to functions.

The *args will give you all function parameters a list:
e.g.
    def foo(*args):
          for a in args:
               print a

The **kwargs will give you all keyword arguments.

  

Friday, May 23, 2014

How to improve python performance

recommended:
http://blog.monitis.com/2012/02/13/python-performance-tips-part-1/
http://blog.monitis.com/2012/03/21/python-performance-tips-part-2/
Summary:
(1) Use join() to glue a large number of strings.
(2) User python multiple assignment to swap variables.  (x, y = y, x).
(3) Use local variable if possible.
(4) Use in if possible.
(5) Speed up by lazy importing. (import modules when you really need them)
(6) Use "while 1" not "while True".
(7) Use list comprehension, also dict. (list = [i**3 for i in range(10)])
(8) Use xrange() for a very long sequence.
(9) Use python generator to get value on demand.
(10) Learn itertools module.
(11) Learn bisect module for keeping a list in sorted order.
(12) Understand that a Python list, is a actually an array.
(13) Use dict and set to test membership. (they are hash, list is array.)

中文译版:
http://www.oschina.net/question/1579_45822