Archive for the 'General' Category
Wednesday, August 18th, 2010
I often find myself debugging python C extensions from gdb, but usually some variables are hidden because aggressive optimizations that distutils sets by default. What I did not know, is that you can prevent those optimizations by passing flags -O0 -fno-inline to gcc in keyword extra_compile_args (note: this will only work in GCC). A complete [...]
General | Comments (5)
Friday, July 30th, 2010
One of the best things of spending summer in Paris: its parcs (here, with friends @ Parc Montsouris).
General | Comments (1)
Thursday, May 27th, 2010
It is now possible (using the development version as of may 2010) to use Support Vector Machines with custom kernels in scikits.learn. How to use it couldn’t be more simple: you just pass a callable (the kernel) to the class constructor). For example, a linear kernel would be implemented as follows: import numpy as np [...]
General, scikit-learn, Tecnología | Comments (1)
Thursday, April 22nd, 2010
If your numpy installation uses system-wide BLAS libraries (this will most likely be the case unless you installed it through prebuilt windows binaries), you can retrieve this information at compile time to link python modules to BLAS. The function get_info in numpy.distutils.system_info will return a dictionary that contains the needed information to link against BLAS [...]
General | Comments (1)
Monday, March 22nd, 2010
Today I released a new version of the scikits.learn library for machine learning. This new release includes the new libsvm bindings, Jake VanderPlas’ BallTree algorithm for *fast* nearest neighbor queries in high dimension, etc. Here is the official announcement. As usual, it can be downloaded from sourceforge or from the PyPI.
General | Comments Off
Wednesday, March 17th, 2010
Suppose some given data points each belong to one of two classes, and the goal is to decide which class a new data point will be in. In the case of support vector machines, a data point is viewed as a p-dimensional vector (2-dimensional in this example), and we want to know whether we can [...]
General, scikit-learn, Tecnología | Comments (4)
Tuesday, March 9th, 2010
LibSVM is a C++ library that implements several Support Vector Machine algorithms that are commonly used in machine learning. It is a fast library that has no dependencies and most machine learning frameworks bind it in some way or another. LibSVM comes with a Python interface written in swig, but this interface is inherently slow [...]
General, scikit-learn, Tecnología | Comments (4)
Monday, February 1st, 2010
Today I released the first public version of Scikit-Learn (release notes). It’s a python module implementing some machine learning algorithms, and it’s shaping quite good. For this release I did not want to do any incompatible changes, so most of them are just bug fixes and updates. For the next release, however, some more radical [...]
General, scikit-learn, sympy, Tecnología | Comments (1)
Thursday, January 7th, 2010
This week we created a sourceforge project to host our development of scikit-learn. Although the project already had a directory in scipy’s repo, we needed more flexibility in the user management and in the mailing list creation, so we opted for SourceForge. To be honest, after using git and Google Code for bug tracking, I [...]
General, scikit-learn, Tecnología | Comments Off
Tuesday, January 5th, 2010
New job, new code, new city, new colleagues. Feels something like this:
General | Comments Off
Tuesday, December 22nd, 2009
This week I arrived to the place where I will be working the following two years: Neurospin. It’s a research center located 20 km from Paris, and so far things are going smoothly: the place is beautiful, work is great and food is excellent. Well OK, I do miss some things from Spain and weather [...]
General, Tecnología | Comments (2)
Tuesday, December 15th, 2009
Nice thing about winter in Granada is, that even in the coldest days, the sky is always blue.
Fotos, General | Comments (1)
Tuesday, December 15th, 2009
My new job is about managing an open source package for machine learning in Python. I’ve had some experience with Python now, but I am a total newbie in the field of machine learning, so my first task will be to find a good reference book in the subject and start reading. The books I’ve [...]
General, Tecnología | Comments (10)
Saturday, December 12th, 2009
I’m extremely glad that finally I am moving to Paris to work as part of the INRIA crew. I’ll be working with Gael Varoquaux and his team in an extremely cool Python related project (more to come on this in the following weeks). Granada has been a great place for me on the last 10 [...]
General | Comments (3)
Saturday, September 5th, 2009
Google Summer of Code program is officially over. It has been four months of intense work, exciting benchmarks and patch reviewing. It was a huge pleasure working with you guys! As for the project, I implemented a complete logic module and then an assumption system for sympy (sympy.logic, sympy.assumptions, sympy.queries). I even had time to [...]
General, sympy, Tecnología | Comments (3)
Thursday, August 20th, 2009
I managed to overcome the overhead in ask() that arises when converting between symbol and integer representation of sentences in conjunctive normal. The result went beyond what I expected. The test suite for the query module got 10x times faster in my laptop. From 26 seconds, it descended to an impressive 2.03 secs. There is [...]
General, sympy, Tecnología | Comments (1)
Tuesday, August 18th, 2009
Today I’ve been doing some speed improvements for the logic module. More precisely, I implemented an efficient internal representation for clauses in conjunctive normal form. In practice this means a huge performance boost for all problems that make use the function satisfiable() or dpll_satisfiable(). For example, test_dimacs.py has moved from 2.7 seconds to an impressive [...]
General, sympy, Tecnología | Comments Off
Monday, August 10th, 2009
The query module is finally in the main SymPy repository. I made substantial changes since last post, most of them at the user interface level (thanks to Vinzent and Mateusz for many insightful comments). Main function is ask(), which replaces the old expression.is_* syntax. You can ask many things. For example, you can ask if [...]
General, sympy, Tecnología | Comments Off
Friday, August 7th, 2009
After some failed attempts, I just found how to change the language settings dynamically in django, and I thought it could be useful to someone. Just use function activate() from django.utils.translation. For example: from django.utils.translation import activate activate(’es-ES’) will change global language settings to ‘es-ES’ (Spain spanish). I use it because I have two forms [...]
General, Tecnología | Comments (8)
Tuesday, July 21st, 2009
Three months after I began to write sympy.queries, I feel it’s about time to include it in sympy’s trunk, so today I sent for review 4 patches that implement the complete query module. It’s been a lot of fun, but it has also caused me some headaches … specially last month trying to have the [...]
General, sympy, Tecnología | Comments (1)