
To disable ML Compute acceleration (e.g. To initialize allocated memory with a specific value, use TF_MLC_ALLOCATOR_INIT_VALUE=. The gradient op may also need to be disabled by modifying the file $PYTHONHOME/site-packages/tensorflow/python/ops/_grad.py (this avoids TensorFlow recompilation). In eager mode, you may disable the conversion of any operation to ML Compute by using TF_DISABLE_MLC_EAGER=“ Op1 Op2. To avoid this during the debugging process, set TensorFlow to execute operators sequentially by setting the number of threads to 1 (see tf._inter_op_parallelism_threads). As a result, there may be overlapping logging information. TensorFlow is multi-threaded, which means that different TensorFlow operations, such as MLCSubgraphOp, can execute concurrently. If this happens, try decreasing the batch size or the number of layers. Larger models being trained on the GPU may use more memory than is available, resulting in paging. Caching statistics, such as insertions and deletions. This key is used to retrieve the graph and run a backward pass or an optimizer update. The key for associating the tensor’s buffer to built the MLCTraining or MLCInference graph. The buffer pointer and shape of input/output tensor. The following is the list of information that is logged in eager mode: Unlike graph mode, logging in eager mode is controlled by TF_CPP_MIN_VLOG_LEVEL. TensorFlow subgraphs that correspond to each of the ML Compute graphs. Note that for training, there will usually be at least two MLCSubgraphOp nodes (representing forward and backward/gradient subgraphs). Having larger subgraphs that encapsulate big portions of the original graph usually results in better performance from ML Compute.
Number of subgraphs using ML Compute and how many operations are included in each of these subgraphs. This, for example, can be used to determine which operations are being optimized by ML Compute. Each of these nodes replaces a TensorFlow subgraph from the original graph, encapsulating all the operations in the subgraph. Look for MLCSubgraphOp nodes in this graph.
TensorFlow graph after TensorFlow operations have been replaced with ML Compute. Original TensorFlow graph without ML Compute.
The following is the list of information that is logged in graph mode: Turn logging on by setting the environment variable TF_MLC_LOGGING=1 when executing the model script. Logging provides more information about what happens when a TensorFlow model is optimized by ML Compute. The following TensorFlow features are currently not supported in this fork: t_mlc_device(device_name='cpu') # Available options are 'cpu', 'gpu', and 'any'. # Import mlcompute module to use the optional set_mlc_device API for device selection with ML Compute.įrom import mlcompute