• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
Guide

Memory Allocation Problem con tensorflow-gpu? La soluzione!

Memory Allocation Problem con tensorflow-gpu? La soluzione!

Allocation of 1931371200 exceeds 10% of system memory. Oppure,
Allocation of 9437184 exceeds 10% of system memory, genericamente:
allocation of ‘numero allucinante‘ exceeds 10% of system bla bla.

Suona familiare?

Nei primi esperimenti con tensorflow–gpu mi è capitato più di una volta di incappare in questo spiacevole errore:

Allocation of [x] exceeds 10% of system memory

Il computer cerca di usare più memoria di quanta non ne sia materialmente disponibile e il risultato è il blocco degli script o errori a catena che impediscono ogni successiva procedura.

In questa pagina, ho raccolto alcuni consigli che ho adottato in passato e che mi hanno salvato la vita più di una volta.

Vediamone alcune.

Libera memoria RAM

Spesso la quanità di memoria in ‘overbooking’ è così limitata che chiudere qualche programma particolarmente pesante può fare la differenza.

Riduci il batchsize

In alcuni script è possibile ridurre il batchsize, specie in sessioni di training o di transfer learning, in cui questo valore può risultare fatale. Ricordati che conviene usare multipli di 2. Batch size = 2, 4, 6, 8, 16, 32, etc. 

Riduci il dataset

La dimensioni dei file da gestire durante l’esecuzione di uno script è il principale responsabile del problema. Se le precedenti soluzioni non dovessero funzionare, potrebbe essere necessaria una modifica radicale: cambiare il dataset.

In caso di training, potresti provare a comprimere le immagini con un tool online.

Puoi anche tagliarle e lavorare su immagini più piccole. 

Imposta i limiti

Questa è una soluzione concreta, rispetto agli altri che sono semplici consigli. Usando tensorflow, i tuoi script dovranno, prima o poi, inizializzare la libreria e chiamare una session. Trova quindi, all’interno dei file, il listato:

tf.Session()

E modifica come segue:

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=x)
tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

Sostituendo la x con una frazione da 0 a 1. Con una 1070 uso 0.7444. E’ appena sotto il limite di memoria utilizzabile (nonostante abbia 8GB, solo 6,1 circa sono occupabili)

Il cloud

L’ultima spiaggia, cambiare computer. Con alcune ricerche online è possibile accedere a diversi servizi che mettono a disposizione, a costi vantaggiosi e non, potenza di calcolo da vendere. 

Alla prossima!

Un caldo abbraccio, Andrea.

Written by Andrea Provino - Dicembre 26, 2018
Tags | guida, machine learning, tensorflow

You Might Also Like

exploration-policies-exploration-policy-reinforcement-learning-machine-learning-data-science-markov-decision-process

Exploration Policies: ε-greedy policy | Reinforcement Learning

Agosto 17, 2020
clustering-tutto-quello-che-devi-sapere-clustering-data-science-machine-learning-guida-italiano

Clustering: tutto quello che devi sapere | Edizione 2021

Novembre 15, 2020
gan-generative-adversarial-networks-italia-rete-generativa-avversaria-rete-antagonista-generativa

GAN: Cosa sono le Generative Adversarial Nets

Aprile 20, 2020
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • fully-homomorphic-encryption-crittografia-completamente-omomorfica Privacy Preserving

    Cos’è la Crittografia Omomorfica | Homomorphic Encryption (HE)

    Marzo 4, 2021
  • data-science-for-finance-machine-learning-deep-learning-data-science-use-cases-use-cases Business, Data Science, machine-learning

    Data Science for Finance | Use Cases per il Data Scientist

    Febbraio 13, 2021
  • differential-privacy-example-privacy-differenziale-esempio-italiano-applicazioni-reali Business, Data Science, Privacy Preserving

    Differential Privacy Example | Esempi di privacy differenziale

    Febbraio 10, 2021
  • privacy-enhancing-technologies-techniques-machine-learning-data-science-pets-guida-italiano-spiegazione-semplice Business, Data Science, machine-learning, Privacy Preserving

    Cosa sono le Privacy-enhancing technologies o techniques (PETs)

    Febbraio 7, 2021
  • condivisione-dati-finance-fintech-problems-machine-learning-for-finance-data-science-deep-learning-case-study Business

    Problemi della condivisione dati in finanza | Finance data sharing problems

    Febbraio 4, 2021
  • finance-privacy-settore-finanziario-dati-privacy-enhancing-technologies-ai Business

    Il legame tra Privacy Dati AI nel settore finanziario

    Febbraio 1, 2021
  • rust-react-webassembly-privacy-preserving-machine-learning Logs

    Rust, WebAssembly, React e un MVP

    Dicembre 21, 2020
  • diffie-hellman-key-exchange-protocol-scambio-di-chiavi-diffie-hellman Data Science, Privacy Preserving

    Cos’è lo scambio di chiavi Diffie-Hellman (DH)? | Privacy Preserving

    Dicembre 15, 2020
  • principio-di-esattezza-data-science-machine-learning-gdpr-data-accuracy Data Science, GDPR Compliant

    GDPR: Principio di esattezza dei dati (Data Accuracy)

    Dicembre 12, 2020
  • tensorflow-extended-tfx-deploy-machine-learning-guide-machine-learning-pipelines machine-learning

    TFX: come funziona Tensorflow Extended?

    Dicembre 9, 2020

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino