Trabalho em um ambiente em que os recursos computacionais são compartilhados, ou seja, temos algumas máquinas servidoras equipadas com algumas GPUs Nvidia Titan X cada.
Para modelos de tamanho pequeno a moderado, os 12 GB do Titan X geralmente são suficientes para 2-3 pessoas executar treinamento simultaneamente na mesma GPU. Se os modelos forem pequenos o suficiente para que um único modelo não tire o máximo proveito de todas as unidades computacionais da GPU, isso poderá resultar em uma aceleração em comparação à execução de um processo de treinamento após o outro. Mesmo nos casos em que o acesso simultâneo à GPU diminui o tempo de treinamento individual, ainda é bom ter a flexibilidade de ter vários usuários treinando simultaneamente na GPU.
O problema com o TensorFlow é que, por padrão, ele aloca a quantidade total de memória disponível da GPU quando é iniciada. Mesmo para uma pequena rede neural de duas camadas, vejo que todos os 12 GB de memória da GPU estão esgotados.
Existe uma maneira de fazer o TensorFlow alocar apenas, digamos, 4 GB de memória GPU, se alguém souber que isso é suficiente para um determinado modelo?