<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=TensorFlow._Python</id>
	<title>TensorFlow. Python - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=TensorFlow._Python"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=TensorFlow._Python&amp;action=history"/>
	<updated>2026-08-30T07:45:28Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=TensorFlow._Python&amp;diff=258901&amp;oldid=prev</id>
		<title>Joan: /* Basic classification: Classify images of clothing */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=TensorFlow._Python&amp;diff=258901&amp;oldid=prev"/>
		<updated>2020-02-07T12:46:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Basic classification: Classify images of clothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
=Instal·lació (gener 2020)=&lt;br /&gt;
*https://www.tensorflow.org/install/pip&lt;br /&gt;
TensorFlow 2 packages are available&lt;br /&gt;
*'''tensorflow''' —Latest stable release with CPU and GPU support (Ubuntu and Windows)&lt;br /&gt;
*'''ptf-nightly''' —Preview build (unstable). Ubuntu and Windows include GPU support.&lt;br /&gt;
'''1.''' Install the Python development environment on your system&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ python3 --version&lt;br /&gt;
Python 3.6.9&lt;br /&gt;
&lt;br /&gt;
$ pip --version (però compte! aquest és el pip2)&lt;br /&gt;
pip 19.3.1 from /home/joan/.local/lib/python2.7/site-packages/pip (python 2.7)&lt;br /&gt;
&lt;br /&gt;
$ pip3 --version&lt;br /&gt;
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)&lt;br /&gt;
$ pip3 install --upgrade pip&lt;br /&gt;
Collecting pip&lt;br /&gt;
...&lt;br /&gt;
Installing collected packages: pip&lt;br /&gt;
Successfully installed pip-20.0.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo pip3 install -U virtualenv&lt;br /&gt;
&lt;br /&gt;
$ virtualenv --version&lt;br /&gt;
16.7.9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''2.''' Create a virtual environment (recommended)&lt;br /&gt;
&lt;br /&gt;
'''virtualenv''' is a tool to create isolated Python environments&lt;br /&gt;
&lt;br /&gt;
Create a new virtual environment by choosing a Python interpreter and making a ./venv directory to hold it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ virtualenv --system-site-packages -p python3 ./venv&lt;br /&gt;
Already using interpreter /usr/bin/python3&lt;br /&gt;
Using base prefix '/usr'&lt;br /&gt;
New python executable in /home/joan/venv/bin/python3&lt;br /&gt;
Also creating executable in /home/joan/venv/bin/python&lt;br /&gt;
Installing setuptools, pkg_resources, pip, wheel...done.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Activate the virtual environment using a shell-specific command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ source ./venv/bin/activate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When virtualenv is active, your shell prompt is prefixed with (venv). El prompt queda:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(venv) joan@joanHP:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install packages within a virtual environment without affecting the host system setup. Start by upgrading pip:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(venv) $ pip install --upgrade pip&lt;br /&gt;
&lt;br /&gt;
(venv) $ pip list  # show packages installed within the virtual environment&lt;br /&gt;
Package               Version  &lt;br /&gt;
--------------------- ---------&lt;br /&gt;
apt-clone             0.2.1    &lt;br /&gt;
apturl                0.5.2    &lt;br /&gt;
beautifulsoup4        4.6.0    &lt;br /&gt;
Brlapi                0.6.6&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And to exit virtualenv later:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(venv) $ deactivate  # don't exit until you're done using TensorFlow&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3.''' Install the TensorFlow pip package&lt;br /&gt;
Choose one of the following TensorFlow packages to install from PyPI:&lt;br /&gt;
&lt;br /&gt;
*tensorflow —Latest stable release with CPU and GPU support (Ubuntu and Windows).&lt;br /&gt;
*tf-nightly —Preview build (unstable). Ubuntu and Windows include GPU support.&lt;br /&gt;
*tensorflow==1.15 —The final version of TensorFlow 1.x.&lt;br /&gt;
&lt;br /&gt;
Instal·larem el primer paquet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(venv) $ pip install --upgrade tensorflow&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verify the install:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ python -c &amp;quot;import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
En comptes d'instal·lar-ho en l'entorn virtual també ho puc instal·lar en el sistema:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ pip3 install --user --upgrade tensorflow  # install in $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Però el problema és el mateix:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ python3 -c &amp;quot;import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))&amp;quot;&lt;br /&gt;
2020-01-30 17:08:16.519868: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
El TensorFlow el tinc ben instal·lat:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ python3 -m pip freeze | grep tensor&lt;br /&gt;
tensorboard==2.1.0&lt;br /&gt;
tensorflow==2.1.0&lt;br /&gt;
tensorflow-estimator==2.1.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
però el problema que tinc és el mateix que es documenta aqui:&lt;br /&gt;
*https://github.com/tensorflow/tensorflow/issues/36201&lt;br /&gt;
&lt;br /&gt;
Des de l'entorn virtual:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(venv)$ pip install tensorflow-cpu&lt;br /&gt;
...&lt;br /&gt;
Successfully installed tensorflow-cpu-2.1.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I ara sí que funciona:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(venv) $ python -c &amp;quot;import tensorflow as tf;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
(venv) $ python -c &amp;quot;import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2020-01-30 17:22:09.073469: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2394605000 Hz&lt;br /&gt;
2020-01-30 17:22:09.074097: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x48ae480 initialized for platform Host (this does not guarantee that XLA will be used). Devices:&lt;br /&gt;
2020-01-30 17:22:09.074166: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version&lt;br /&gt;
tf.Tensor(369.16412, shape=(), dtype=float32)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I ara ho instal·lem directament al sistema, sense l'entorn virtual (no caldria):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ pip3 install tensorflow-cpu&lt;br /&gt;
...&lt;br /&gt;
Successfully installed tensorflow-cpu-2.1.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ python3 -c &amp;quot;import tensorflow as tf;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$ python3 -c &amp;quot;import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=TensorFlow Tutorial For Beginners (Belgium traffic signals) (prova 1)=&lt;br /&gt;
'''NOTA''': el problema és que aquest tutorial està fent amb TF1 (tot i que és bastant nou), però ara ja es va pel TF2, i de fet quan he fet la instal·lació m'ha quedat instal·lat el TF2, i m'està donant molts problemes. Conclusió: més val centrar-se i mirar un tutorial i exemples de TF2.&lt;br /&gt;
&lt;br /&gt;
*https://www.datacamp.com/community/tutorials/tensorflow-tutorial&lt;br /&gt;
Les dades:&lt;br /&gt;
*https://btsd.ethz.ch/shareddata/&lt;br /&gt;
Al Github:&lt;br /&gt;
*https://github.com/datacamp/datacamp-community-tutorials/blob/master/TensorFlow%20Tutorial%20For%20Beginners/TensorFlow%20Tutorial%20For%20Beginners.ipynb&lt;br /&gt;
&lt;br /&gt;
El projecte està a ''~/projectes/tensorflow_tutorial'', i creem un entorn virtual en aquest directori:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd ~/projectes/tensorflow_tutorial&lt;br /&gt;
$ virtualenv --system-site-packages -p python3 ./venv&lt;br /&gt;
Already using interpreter /usr/bin/python3&lt;br /&gt;
...&lt;br /&gt;
done.&lt;br /&gt;
$ source ./venv/bin/activate&lt;br /&gt;
(venv) $ PS1=&amp;quot;E$ &amp;quot;&lt;br /&gt;
E$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E$ python --version&lt;br /&gt;
Python 3.6.9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dependències per al projecte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E$ python belgium_traffic_signs_v1.py &lt;br /&gt;
NameError: name 'skimage' is not defined&lt;br /&gt;
&lt;br /&gt;
$ pip3 install scikit-image&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E$ python belgium_traffic_signs_v1.py &lt;br /&gt;
NameError: name 'skimage' is not defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Problema a la línia 28:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
images.append(skimage.data.imread(f))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
El problema no és que la llibreria no estigui ben instal·lada&lt;br /&gt;
&lt;br /&gt;
El que tinc instal·lat:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ python3 -m pip freeze | grep tensor&lt;br /&gt;
tensorboard==2.1.0&lt;br /&gt;
tensorflow==2.1.0&lt;br /&gt;
tensorflow-cpu==2.1.0&lt;br /&gt;
tensorflow-estimator==2.1.0&lt;br /&gt;
tensorflow-gpu==2.1.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=TensorFlow Tutorial For Beginners (Belgium traffic signals) (prova 2)=&lt;br /&gt;
python i python3, en aquest entorn virtual, és el mateix:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E $ python --version&lt;br /&gt;
Python 3.6.9&lt;br /&gt;
E $ python3 --version&lt;br /&gt;
Python 3.6.9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E $ pip install tensorflow&lt;br /&gt;
...&lt;br /&gt;
Successfully installed tensorboard-2.1.0 tensorflow-2.1.0 tensorflow-estimator-2.1.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Per veure què se'ns ha instal·lat i quines versions:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E $ python3 -m pip freeze | grep tensor&lt;br /&gt;
tensorboard==2.1.0&lt;br /&gt;
tensorflow==2.1.0&lt;br /&gt;
tensorflow-estimator==2.1.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E $ python -c &amp;quot;import tensorflow as tf;&amp;quot;&lt;br /&gt;
2020-02-03 13:33:29.725233: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory&lt;br /&gt;
2020-02-03 13:33:29.725330: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer_plugin.so.6'; dlerror: libnvinfer_plugin.so.6: cannot open shared object file: No such file or directory&lt;br /&gt;
2020-02-03 13:33:29.725346: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hi ha dos problemes. Un és relacionat amb ''libnvinfer.so.6'', i l'altre és un problema amb les targetes gràfiques NVIDIA.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; hi ha algun problema amb els drivers de la targeta gràfica, em sembla.&lt;br /&gt;
&lt;br /&gt;
Però per fer aquest tutorial necessitor tensorflow-1.15, que no és l'últim (estan havent-hi bastants canvis de tensorflow 1 a 2).&lt;br /&gt;
&lt;br /&gt;
Però si vull instal·lar tensorflow-1.15:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E $ pip install tensorflow==1.15&lt;br /&gt;
Collecting tensorflow==1.15&lt;br /&gt;
...&lt;br /&gt;
    Uninstalling tensorflow-2.1.0:&lt;br /&gt;
      Successfully uninstalled tensorflow-2.1.0&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E $ python3 -m pip freeze | grep tensor&lt;br /&gt;
&lt;br /&gt;
tensorboard==1.15.0&lt;br /&gt;
tensorflow==1.15.0&lt;br /&gt;
tensorflow-estimator==1.15.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E $ python3 -c &amp;quot;import tensorflow as tf;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i ara no em dóna el missatge emprenyador&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E $ python prova2.py &lt;br /&gt;
WARNING:tensorflow:From prova2.py:12: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
funciona, tot i que protesta. Estic treballant amb 1.15. Però en la versió 2 no existeixen les Sessions (protesta tot i que treballo amb la versió 1) Puc treballar amb Sessions.&lt;br /&gt;
&lt;br /&gt;
=GPU support i CUDA enabled cards=&lt;br /&gt;
*https://www.tensorflow.org/install/gpu&lt;br /&gt;
Software requirements&lt;br /&gt;
&lt;br /&gt;
The following NVIDIA® software must be installed on your system:&lt;br /&gt;
*NVIDIA® GPU drivers —CUDA 10.1 requires 418.x or higher.&lt;br /&gt;
*CUDA® Toolkit —TensorFlow supports CUDA 10.1 (TensorFlow &amp;gt;= 2.1.0)&lt;br /&gt;
*CUPTI ships with the CUDA Toolkit.&lt;br /&gt;
*cuDNN SDK (&amp;gt;= 7.6)&lt;br /&gt;
*(Optional) TensorRT 6.0 to improve latency and throughput for inference on some models.&lt;br /&gt;
&lt;br /&gt;
Però el portàtil no té una targeta NVIDIA, sinó senzillament una targeta gràfica intel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lspci -v&lt;br /&gt;
...&lt;br /&gt;
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])&lt;br /&gt;
	Subsystem: Hewlett-Packard Company 2nd Generation Core Processor Family Integrated Graphics Controller&lt;br /&gt;
	Flags: bus master, fast devsel, latency 0, IRQ 27&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Què és '''CUDA'''? En poques paraules, CUDA seria la possibiltiat d'utilitzar la CPU de la gràfica per fer operacions matemàtiques. I és per aixó que CUDA és important.&lt;br /&gt;
*https://blogs.nvidia.com/blog/2012/09/10/what-is-cuda-2/&lt;br /&gt;
==Aclaració, important==&lt;br /&gt;
Si no tinc una targeta gràfica NVIDIA, és inútil instal·lar tensorflow-gpu i CUDA.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lspci | grep Graph&lt;br /&gt;
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)&lt;br /&gt;
&lt;br /&gt;
$ lspci | grep graph&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Per tant, oblidar-se d'aquest tema.&lt;br /&gt;
&lt;br /&gt;
En el cas de què es disposi una gràfica NVIDIA, la idea és que es fa servir per tal de què els càlculs matemàtics vagin més ràpid, doncs el ML necessita processament de càlcul.&lt;br /&gt;
&lt;br /&gt;
=Tutorials oficials=&lt;br /&gt;
*https://www.tensorflow.org/tutorials&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E $ pip install tensorflow&lt;br /&gt;
E $ python3 -m pip freeze | grep tensor&lt;br /&gt;
tensorboard==2.1.0&lt;br /&gt;
tensorflow==2.1.0&lt;br /&gt;
tensorflow-estimator==2.1.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from __future__ import absolute_import, division, print_function, unicode_literals&lt;br /&gt;
&lt;br /&gt;
# Install TensorFlow&lt;br /&gt;
&lt;br /&gt;
import tensorflow as tf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E $ python prova1.py &lt;br /&gt;
2020-02-03 14:29:09.335379: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory&lt;br /&gt;
2020-02-03 14:29:09.335477: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer_plugin.so.6'; dlerror: libnvinfer_plugin.so.6: cannot open shared object file: No such file or directory&lt;br /&gt;
2020-02-03 14:29:09.335493: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*https://github.com/tensorflow/tensorflow/issues/34329&lt;br /&gt;
=Instal·lar tensorflow amb contenedors Docker=&lt;br /&gt;
*https://www.tensorflow.org/install/docker&lt;br /&gt;
Docker uses containers to create virtual environments that isolate a TensorFlow installation from the rest of the system. TensorFlow programs are run within this virtual environment that can share resources with its host machine (access directories, use the GPU, connect to the Internet, etc.). The TensorFlow Docker images are tested for each release.&lt;br /&gt;
&lt;br /&gt;
Docker is the easiest way to enable TensorFlow GPU support on Linux since only the NVIDIA® GPU driver is required on the host machine (the NVIDIA® CUDA® Toolkit does not need to be installed).&lt;br /&gt;
&lt;br /&gt;
Aquests són els problemes que he tingut. A veure si amb Docker aconsegueixo tenir un entorn estable per fer proves amb ''tensorflow''.&lt;br /&gt;
&lt;br /&gt;
TensorFlow Docker requirements:&lt;br /&gt;
#Install Docker on your local host machine: https://docs.docker.com/install/&lt;br /&gt;
#For GPU support on Linux, install NVIDIA Docker support. -&amp;gt; aquesta part '''NO''' l'he de fer, jo no tinc una targeta NVIDIA.&lt;br /&gt;
Take note of your Docker version with docker -v. Versions earlier than 19.03 require nvidia-docker2 and the --runtime=nvidia flag. On versions including and after 19.03, you will use the nvidia-container-toolkit package and the --gpus all flag. Both options are documented on the page linked above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/os-release &lt;br /&gt;
NAME=&amp;quot;Linux Mint&amp;quot;&lt;br /&gt;
VERSION=&amp;quot;19.2 (Tina)&amp;quot;&lt;br /&gt;
ID=linuxmint&lt;br /&gt;
ID_LIKE=ubuntu&lt;br /&gt;
PRETTY_NAME=&amp;quot;Linux Mint 19.2&amp;quot;&lt;br /&gt;
VERSION_ID=&amp;quot;19.2&amp;quot;&lt;br /&gt;
HOME_URL=&amp;quot;https://www.linuxmint.com/&amp;quot;&lt;br /&gt;
SUPPORT_URL=&amp;quot;https://forums.ubuntu.com/&amp;quot;&lt;br /&gt;
BUG_REPORT_URL=&amp;quot;http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/&amp;quot;&lt;br /&gt;
PRIVACY_POLICY_URL=&amp;quot;https://www.linuxmint.com/&amp;quot;&lt;br /&gt;
VERSION_CODENAME=tina&lt;br /&gt;
UBUNTU_CODENAME=bionic&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tinc Linux Mint (Tina). La versió equivalent de Ubuntu és ''bionic''.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo add-apt-repository 'deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install docker-ce docker-ce-cli containerd.io&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker run hello-world&lt;br /&gt;
Unable to find image 'hello-world:latest' locally&lt;br /&gt;
latest: Pulling from library/hello-world&lt;br /&gt;
1b930d010525: Pull complete &lt;br /&gt;
Digest: sha256:9572f7cdcee8591948c2963463447a53466950b3fc15a247fcad1917ca215a2f&lt;br /&gt;
Status: Downloaded newer image for hello-world:latest&lt;br /&gt;
&lt;br /&gt;
Hello from Docker!&lt;br /&gt;
This message shows that your installation appears to be working correctly.&lt;br /&gt;
&lt;br /&gt;
To generate this message, Docker took the following steps:&lt;br /&gt;
 1. The Docker client contacted the Docker daemon.&lt;br /&gt;
 2. The Docker daemon pulled the &amp;quot;hello-world&amp;quot; image from the Docker Hub.&lt;br /&gt;
    (amd64)&lt;br /&gt;
 3. The Docker daemon created a new container from that image which runs the&lt;br /&gt;
    executable that produces the output you are currently reading.&lt;br /&gt;
 4. The Docker daemon streamed that output to the Docker client, which sent it&lt;br /&gt;
    to your terminal.&lt;br /&gt;
&lt;br /&gt;
To try something more ambitious, you can run an Ubuntu container with:&lt;br /&gt;
 $ docker run -it ubuntu bash&lt;br /&gt;
&lt;br /&gt;
Share images, automate workflows, and more with a free Docker ID:&lt;br /&gt;
 https://hub.docker.com/&lt;br /&gt;
&lt;br /&gt;
For more examples and ideas, visit:&lt;br /&gt;
 https://docs.docker.com/get-started/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For GPU support on Linux, install NVIDIA Docker support: -&amp;gt; aquesta part jo '''NO''' l'he de fer.&lt;br /&gt;
*https://github.com/NVIDIA/nvidia-docker&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)&lt;br /&gt;
joan@joanHP:~/projectes/tensorflow_tutorial$ echo $distribution &lt;br /&gt;
linuxmint19.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list&lt;br /&gt;
# Unsupported distribution!&lt;br /&gt;
# Check https://nvidia.github.io/nvidia-docker&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Solució per a Linux Mint''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -&lt;br /&gt;
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install -y nvidia-container-toolkit&lt;br /&gt;
S'està llegint la llista de paquets… Fet &lt;br /&gt;
S'està construint l'arbre de dependències       &lt;br /&gt;
S'està llegint la informació de l'estat… Fet&lt;br /&gt;
E: No s'ha trobat el paquet nvidia-container-toolkit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
No puc instal·lar el ''NVIDIA Docker support'' perquè estic utilitzant Linux Mint, i no li agrada. (Però bàsicament és perquè jo no tinc una targeta NVIDIA).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart docker&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Download a TensorFlow Docker image==&lt;br /&gt;
Un cop he instal·lat Docker, ara m'he de descarregar la imatge de tensorflow.&lt;br /&gt;
&lt;br /&gt;
Repositori de les imatges:&lt;br /&gt;
*https://hub.docker.com/r/tensorflow/tensorflow/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*latest	The latest release of TensorFlow CPU binary image. Default.&lt;br /&gt;
*nightly	Nightly builds of the TensorFlow image. (unstable)&lt;br /&gt;
*version	Specify the version of the TensorFlow binary image, for example: 2.1.0&lt;br /&gt;
*devel	Nightly builds of a TensorFlow master development environment. Includes TensorFlow source code.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Each base tag has variants that add or change functionality:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Tag Variants	Description&lt;br /&gt;
*tag-gpu	The specified tag release with GPU support. (See below)&lt;br /&gt;
*tag-py3	The specified tag release with Python 3 support.&lt;br /&gt;
*tag-jupyter	The specified tag release with Jupyter (includes TensorFlow tutorial notebooks)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Descarreguem la ''latest stable release'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker pull tensorflow/tensorflow &lt;br /&gt;
[sudo] contrasenya per a joan:         &lt;br /&gt;
Torneu-ho a provar&lt;br /&gt;
[sudo] contrasenya per a joan:         &lt;br /&gt;
Using default tag: latest&lt;br /&gt;
latest: Pulling from tensorflow/tensorflow&lt;br /&gt;
2746a4a261c9: Pull complete &lt;br /&gt;
4c1d20cdee96: Pull complete &lt;br /&gt;
0d3160e1d0de: Pull complete &lt;br /&gt;
c8e37668deea: Pull complete &lt;br /&gt;
e52cad4ccd83: Pull complete &lt;br /&gt;
fac2cc420193: Pull complete &lt;br /&gt;
3cae0d3239d1: Pull complete &lt;br /&gt;
d383bce69b6c: Pull complete &lt;br /&gt;
8a90b3d85a18: Pull complete &lt;br /&gt;
4baf29878469: Pull complete &lt;br /&gt;
4475017ba949: Pull complete &lt;br /&gt;
Digest: sha256:cec133a881c752a82953e88f34a1e9f878b5523779666528c5d2bdfefe3ba6ae&lt;br /&gt;
Status: Downloaded newer image for tensorflow/tensorflow:latest&lt;br /&gt;
docker.io/tensorflow/tensorflow:latest&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker run -it --rm tensorflow/tensorflow    python -c &amp;quot;import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))&amp;quot;&lt;br /&gt;
2020-02-03 15:41:29.474266: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory&lt;br /&gt;
2020-02-03 15:41:29.474925: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer_plugin.so.6'; dlerror: libnvinfer_plugin.so.6: cannot open shared object file: No such file or directory&lt;br /&gt;
2020-02-03 15:41:29.475005: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.&lt;br /&gt;
2020-02-03 15:41:32.640011: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory&lt;br /&gt;
2020-02-03 15:41:32.640055: E tensorflow/stream_executor/cuda/cuda_driver.cc:351] failed call to cuInit: UNKNOWN ERROR (303)&lt;br /&gt;
2020-02-03 15:41:32.640090: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (89bb3e229959): /proc/driver/nvidia/version does not exist&lt;br /&gt;
2020-02-03 15:41:32.753478: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2394560000 Hz&lt;br /&gt;
2020-02-03 15:41:32.754356: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x55abf7ed7ec0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:&lt;br /&gt;
2020-02-03 15:41:32.754417: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version&lt;br /&gt;
tf.Tensor(-1021.8001, shape=(), dtype=float32)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per iniciar el docker de ''tensorflow'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker run -it --rm tensorflow/tensorflow&lt;br /&gt;
&lt;br /&gt;
________                               _______________                &lt;br /&gt;
___  __/__________________________________  ____/__  /________      __&lt;br /&gt;
__  /  _  _ \_  __ \_  ___/  __ \_  ___/_  /_   __  /_  __ \_ | /| / /&lt;br /&gt;
_  /   /  __/  / / /(__  )/ /_/ /  /   _  __/   _  / / /_/ /_ |/ |/ / &lt;br /&gt;
/_/    \___//_/ /_//____/ \____//_/    /_/      /_/  \____/____/|__/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WARNING: You are running this container as root, which can cause new files in&lt;br /&gt;
mounted volumes to be created as the root user on your host machine.&lt;br /&gt;
&lt;br /&gt;
To avoid this, run the container by specifying your user's userid:&lt;br /&gt;
&lt;br /&gt;
$ docker run -u $(id -u):$(id -g) args...&lt;br /&gt;
&lt;br /&gt;
root@67ef3a0eea06:/#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
El python que invoca aquest ''docker'' és el ''python2'', i no té compatibilitat GPU (els errors que em dóna). Si vull solucionar aquestes coses he de crear un altre docker:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker pull tensorflow/tensorflow:latest-gpu-py3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Són 800MB. (cal fer-ho amb sudo??)&lt;br /&gt;
&lt;br /&gt;
I ara iniciem el docker:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker run -it tensorflow/tensorflow:latest-gpu-py3 bash&lt;br /&gt;
&lt;br /&gt;
$ python --version&lt;br /&gt;
Python 3.6.9&lt;br /&gt;
&lt;br /&gt;
$ python -c &amp;quot;import tensorflow as tf;&amp;quot;&lt;br /&gt;
2020-02-03 16:02:29.487138: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libnvinfer.so.6&lt;br /&gt;
2020-02-03 16:02:29.904996: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libnvinfer_plugin.so.6&lt;br /&gt;
&lt;br /&gt;
$ python -c &amp;quot;import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))&amp;quot;&lt;br /&gt;
tf.Tensor(-305.15292, shape=(), dtype=float32)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Però el missatge només surt la primera vegada&lt;br /&gt;
==Petit tutorial de docker (netejar-ho tot)==&lt;br /&gt;
*https://www.digitalocean.com/community/tutorials/how-to-remove-docker-images-containers-and-volumes&lt;br /&gt;
&lt;br /&gt;
per llistar els dockers que tinc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker ps -a&lt;br /&gt;
$ sudo docker ps -a -q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker stop $(docker ps -a -q)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
per aturar:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker stop 49b9bb83e82e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I per eliminar aquest docker&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker rm 49b9bb83e82e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
locate the ID of the images you want to remove:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker images -a&lt;br /&gt;
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE&lt;br /&gt;
tensorflow/tensorflow   latest-gpu-py3      e2a4af785bdb        3 weeks ago         4.11GB&lt;br /&gt;
tensorflow/tensorflow   latest              9bf93bf90865        3 weeks ago         2.47GB&lt;br /&gt;
nvidia/cuda             latest              9e47e9dfcb9a        2 months ago        2.83GB&lt;br /&gt;
hello-world             latest              fce289e99eb9        13 months ago       1.84kB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i per eliminar les imatges que no ens interessen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker rmi IMAGE 9bf93bf90865&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
per eliminar-ho tot:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker system prune&lt;br /&gt;
WARNING! This will remove:&lt;br /&gt;
  - all stopped containers&lt;br /&gt;
  - all networks not used by at least one container&lt;br /&gt;
  - all dangling images&lt;br /&gt;
  - all dangling build cache&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Si vull eliminar totes les imatges:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker rmi $(sudo docker images -a -q)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Linux docker postinstall==&lt;br /&gt;
*https://docs.docker.com/install/linux/linux-postinstall/&lt;br /&gt;
===Tema sudo===&lt;br /&gt;
The Docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can only access it using sudo. The Docker daemon always runs as the root user.&lt;br /&gt;
&lt;br /&gt;
Per tant, és normal haver d'utilitzar el prefix ''sudo''. Si no ho vull fer, es pot treballar directament com a ''root'', o bé crear el grup ''docker'' com es comenta en el tutorial.&lt;br /&gt;
==Configure Docker to start on boot==&lt;br /&gt;
Most current Linux distributions (RHEL, CentOS, Fedora, Ubuntu 16.04 and higher) use systemd to manage which services start when the system boots. Ubuntu 14.10 and below use upstart.&lt;br /&gt;
&lt;br /&gt;
A Linux Mint, Debian, Ubuntu, per habilitar o deshabilitar docker en l'inici del sistema:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable docker&lt;br /&gt;
$ sudo systemctl disable docker&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Això és important perquè després de la instal·lació queda habilitat i consumeix recursos, a part de què m'ha donat problemes amb la interfície de xarxa inal·làmbrica.&lt;br /&gt;
&lt;br /&gt;
==TensorFlow sense GPU i CUDA==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker pull tensorflow/tensorflow:latest-py3&lt;br /&gt;
&lt;br /&gt;
$ sudo docker run -it tensorflow/tensorflow:latest-py3 bash&lt;br /&gt;
&lt;br /&gt;
root@680ddeeaa9d8:/# python --version&lt;br /&gt;
Python 3.6.9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@680ddeeaa9d8:/# python -c &amp;quot;import tensorflow as tf&amp;quot;&lt;br /&gt;
2020-02-05 08:41:00.647333: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory&lt;br /&gt;
2020-02-05 08:41:00.647773: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer_plugin.so.6'; dlerror: libnvinfer_plugin.so.6: cannot open shared object file: No such file or directory&lt;br /&gt;
2020-02-05 08:41:00.647807: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Continua protestant, però de fet no és un error.&lt;br /&gt;
&lt;br /&gt;
'''libnvinfer''' té a verure amb TensorRT (is built on CUDA)&lt;br /&gt;
*https://developer.nvidia.com/tensorrt&lt;br /&gt;
&lt;br /&gt;
Una possible solució és deshabilitar els warnings:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@680ddeeaa9d8:/# python -c &amp;quot;import os;os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2';import tensorflow as tf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
python -c &amp;quot;import os;os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2';import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
tf.Tensor(1021.23694, shape=(), dtype=float32)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = all messages are logged (default behavior)&lt;br /&gt;
1 = INFO messages are not printed&lt;br /&gt;
2 = INFO and WARNING messages are not printed&lt;br /&gt;
3 = INFO, WARNING, and ERROR messages are not printed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
En la consola de python (&amp;gt;&amp;gt;&amp;gt;) aquests warnings només surten la primera vegada.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; from tensorflow.python.client import device_lib&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print(device_lib.list_local_devices())&lt;br /&gt;
&lt;br /&gt;
[name: &amp;quot;/device:CPU:0&amp;quot;&lt;br /&gt;
device_type: &amp;quot;CPU&amp;quot;&lt;br /&gt;
memory_limit: 268435456&lt;br /&gt;
locality {&lt;br /&gt;
}&lt;br /&gt;
incarnation: 16101204069220344270&lt;br /&gt;
, name: &amp;quot;/device:XLA_CPU:0&amp;quot;&lt;br /&gt;
device_type: &amp;quot;XLA_CPU&amp;quot;&lt;br /&gt;
memory_limit: 17179869184&lt;br /&gt;
locality {&lt;br /&gt;
}&lt;br /&gt;
incarnation: 9804796435611854149&lt;br /&gt;
physical_device_desc: &amp;quot;device: XLA_CPU device&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Efectivament jo no tinc una GPU que es pugui fer servir. Ara només cal que no vagi donant warnings.&lt;br /&gt;
=Basic classification: Classify images of clothing=&lt;br /&gt;
*https://www.tensorflow.org/tutorials/keras/classification&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo docker run --rm -it \&lt;br /&gt;
   --workdir=/app \&lt;br /&gt;
   --volume=&amp;quot;$PWD&amp;quot;:/app \&lt;br /&gt;
   --volume=&amp;quot;/etc/group:/etc/group:ro&amp;quot; \&lt;br /&gt;
   --volume=&amp;quot;/etc/passwd:/etc/passwd:ro&amp;quot; \&lt;br /&gt;
   --volume=&amp;quot;/etc/shadow:/etc/shadow:ro&amp;quot; \&lt;br /&gt;
   --volume=&amp;quot;/etc/sudoers.d:/etc/sudoers.d:ro&amp;quot; \&lt;br /&gt;
   tensorflow/tensorflow:latest-py3 bash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install joe&lt;br /&gt;
joe basic_image_classification_v1.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''basic_image_classification_v1.py''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from __future__ import absolute_import, division, print_function, unicode_literals&lt;br /&gt;
&lt;br /&gt;
# TensorFlow and tf.keras&lt;br /&gt;
import tensorflow as tf&lt;br /&gt;
from tensorflow import keras&lt;br /&gt;
&lt;br /&gt;
# Helper libraries&lt;br /&gt;
import numpy as np&lt;br /&gt;
&lt;br /&gt;
print(tf.__version__)&lt;br /&gt;
&lt;br /&gt;
fashion_mnist = keras.datasets.fashion_mnist&lt;br /&gt;
&lt;br /&gt;
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()&lt;br /&gt;
&lt;br /&gt;
class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',&lt;br /&gt;
               'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']&lt;br /&gt;
&lt;br /&gt;
train_images.shape&lt;br /&gt;
len(train_labels)&lt;br /&gt;
train_labels&lt;br /&gt;
test_images.shape&lt;br /&gt;
len(test_labels)&lt;br /&gt;
&lt;br /&gt;
train_images = train_images / 255.0&lt;br /&gt;
test_images = test_images / 255.0&lt;br /&gt;
&lt;br /&gt;
model = keras.Sequential([&lt;br /&gt;
    keras.layers.Flatten(input_shape=(28, 28)),&lt;br /&gt;
    keras.layers.Dense(128, activation='relu'),&lt;br /&gt;
    keras.layers.Dense(10, activation='softmax')&lt;br /&gt;
])&lt;br /&gt;
&lt;br /&gt;
model.compile(optimizer='adam',&lt;br /&gt;
              loss='sparse_categorical_crossentropy',&lt;br /&gt;
              metrics=['accuracy'])&lt;br /&gt;
&lt;br /&gt;
model.fit(train_images, train_labels, epochs=10)&lt;br /&gt;
&lt;br /&gt;
test_loss, test_acc = model.evaluate(test_images,  test_labels, verbose=2)&lt;br /&gt;
&lt;br /&gt;
print('\nTest accuracy:', test_acc)&lt;br /&gt;
&lt;br /&gt;
predictions = model.predict(test_images)&lt;br /&gt;
predictions[0]&lt;br /&gt;
np.argmax(predictions[0])&lt;br /&gt;
test_labels[0]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# python basic_image_classification_v1.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Quasi ha funcionat fins al final (el meu portàtil no és prou potent i no tinc targeta NVIDIA):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Epoch 10/10&lt;br /&gt;
60000/60000 [==============================] - 9s 153us/sample - loss: 0.2382 - accuracy: 0.9115&lt;br /&gt;
2020-02-06 13:17:09.182037: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 62720000 exceeds 10% of system memory.&lt;br /&gt;
10000/10000 - 1s - loss: 0.3408 - accuracy: 0.8834&lt;br /&gt;
&lt;br /&gt;
Test accuracy: 0.8834&lt;br /&gt;
2020-02-06 13:17:10.347075: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 62720000 exceeds 10% of system memory.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*https://stackoverflow.com/questions/50304156/tensorflow-allocation-memory-allocation-of-38535168-exceeds-10-of-system-memor/55246936#55246936&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ docker stats&lt;br /&gt;
&lt;br /&gt;
CONTAINER ID        NAME                 CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS&lt;br /&gt;
0bdbf375e0c7        determined_feistel   0.00%               1.797MiB / 3.801GiB   0.05%               5.66kB / 0B         639kB / 0B          1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mentre corre el script es pot veure com el consum de memòria augmenta. Jo no veig que arriba al 10%, però tant se val, la meva màquina no té les característiques per fer aquests càlculs amb soltura. Sembla ser que es pot configurar el docker per acceptar més memòria.&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, febrer 2020&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>