As to a tensorflow model, it is easy to get all trainable or untrainable variables. Here is the tutorial:
List All Trainable and Untrainable Variables in TensorFlow – TensorFlow Tutorial
However, we can not know the total variable count in a trainable variable. For example, as to 4*50 weight variable, the variable is 1, however, it contains 200 trainable variables.
In this tutorial, we will introduce you how to compute model trainable variable count and estmate memory used in a tensorflow model.
For example:
import tensorflow as tf import numpy as np i = np.array([1,2, 20, 10, 100]) i = tf.convert_to_tensor(i, dtype = tf.float32) w = tf.get_variable('weight', shape=[5, 200], dtype = tf.float32) trainable_vars = tf.trainable_variables() print("trainable vars count:", len(trainable_vars)) # check variables memory variable_count = np.sum(np.array([np.prod(np.array(v.get_shape().as_list())) for v in trainable_vars])) print("total variables :", variable_count)
Run this code, we will see:
trainable vars count: 1 total variables : 1000
In this code, we only create a trainable variable w, it contains 5*200 = 1000 variables.