How to install theano and keras on ubuntu system

How to install theano and keras on ubuntu system

Note: The system is Ubuntu 14.04LTS, a 32-bit operating system. Python 3.4 was previously installed, and now I want to install theano and keras. Here are the steps:

1. Install pip

sudo apt-get install python3-setuptools
sudo easy_install3 pip

2. Install g++

sudo apt-get install g++

Use the above command to install g++. After the installation is complete, you can use g++ -version to check whether the installation is complete. Note that if g++ is not installed, the following error will occur when importing theano:

WARNING (theano.configdefaults): g++ not detected! Theano will be unable to execute optimized C-implementations (for both CPU and GPU) and will default to Python implementations. Performance will be severely degraded. To remove this warning, set Theano flags cxx to an empty string.
I searched because Theano is faster when compiled with g++. Most of the solutions found on the Internet are based on Anaconda installation. The solution is:

conda install mingw libpython

3. Install theano

sudo pip3 install theano

This command will automatically download the dependencies required by theano, including numpy, scipy, etc.

4. Install keras

sudo pip3 install keras

Finally, it should be noted that the default backend of keras is tensorflow, and what we need is theano, so we need to modify the settings. (And tensorflow is installed with pip3, and there is no corresponding version on 32-bit systems! Installation with source files is also very complicated)

vim ~/.keras/keras.json
{
 
  "image_dim_ordering":"tf",
 
  "epsilon":1e-07,
 
  "floatx":"float32",
 
  "backend":"theano"
}

5. Test theano

import numpy as np 
import time 
import theano 
A = np.random.rand(1000,10000).astype(theano.config.floatX) 
B = np.random.rand(10000,1000).astype(theano.config.floatX) 
np_start = time.time() 
AB = A.dot(B) 
np_end = time.time() 
X,Y = theano.tensor.matrices('XY') 
mf = theano.function([X,Y],X.dot(Y)) 
t_start = time.time() 
tAB = mf(A,B) 
t_end = time.time() 
print("NP time: %f[s], theano time: %f[s] (times should be close when run on CPU!)" %( 
                      np_end-np_start, t_end-t_start)) 
print("Result difference: %f" % (np.abs(AB-tAB).max(), ))

Summarize

The above is the installation method of Theano and Keras on Ubuntu system introduced by the editor. I hope it will be helpful to everyone!

You may also be interested in:
  • Solve the problem of installing Theano on Ubuntu 19

<<:  Detailed explanation of mysql replication tool based on python

>>:  Vue integrates Tencent Map to implement API (with DEMO)

Recommend

Detailed explanation of tinyMCE usage and experience

Detailed explanation of tinyMCE usage initializat...

How to use the HTML form attributes readonly and disabled

1. readonly read-only attribute, so you can get th...

CentOS 6.5 installation mysql5.7 tutorial

1. New Features MySQL 5.7 is an exciting mileston...

Should nullable fields in MySQL be set to NULL or NOT NULL?

People who often use MySQL may encounter the foll...

IE8 uses multi-compatibility mode to display web pages normally

IE8 will have multiple compatibility modes . IE pl...

Sample code for implementing DIV suspension with pure CSS (fixed position)

The DIV floating effect (fixed position) is imple...

How to set the width and height of html table cells

When making web pages, you often encounter the pr...

Vue dynamic menu, dynamic route loading and refresh pitfalls

Table of contents need: Ideas: lesson: Share the ...

Detailed tutorial on deploying Springboot or Nginx using Kubernetes

1 Introduction After "Maven deploys Springbo...

CSS HACK for IE6/IE7/IE8/IE9/FF (summary)

Since I installed the official version of IE8.0, ...

TypeScript interface definition case tutorial

The role of the interface: Interface, in English:...

Three ways to communicate between React components (simple and easy to use)

Table of contents 1. Parent-child component commu...

MySQL PXC builds a new node with only IST transmission (recommended)

Demand scenario: The existing PXC environment has...

How to create components in React

Table of contents Preface Component Introduction ...

Implementation of multi-port mapping of nginx reverse proxy

Code Explanation 1.1 http:www.baidu.test.com defa...