'Performance Issue with Tensoflow Hub and Universal Sentence Encoder
I am training Top2vec models using universal-sentence-encoder_4. On larger data sets (e.g. > 500k rows), the code is dismally slow.
Here's the notebook: https://github.com/ddangelov/Top2Vec/blob/master/notebooks/CORD-19_top2vec.ipynb
top2vec_trained = Top2Vec(documents=papers_filtered_df.text.tolist(), split_documents=True, embedding_batch_size=64, embedding_model="universal-sentence-encoder", use_embedding_model_tokenizer=True, embedding_model_path="/Users/davidlaxer/Downloads/universal-sentence-encoder_4", workers=8)
Here's the code snippet I profiled from Top2vec.py:
import cProfile, pstats, io
from pstats import SortKey
pr = cProfile.Profile()
pr.enable()
for ind in range(0, batches):
document_vectors.append(self.embed(train_corpus[current:current + batch_size]))
current += batch_size
if extra > 0:
document_vectors.append(self.embed(train_corpus[current:current + extra]))
document_vectors = self._l2_normalize(np.array(np.vstack(document_vectors)))
pr.disable()
s = io.StringIO()
sortby = SortKey.CUMULATIVE
ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
ps.print_stats()
print(s.getvalue())
Here's the profiler output:
3638257 function calls (3568425 primitive calls) in 154.779 seconds
Ordered by: cumulative time
ncalls tottime percall cumtime percall filename:lineno(function)
6983 0.015 0.000 152.706 0.022 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/saved_model/load.py:743(_call_attribute)
6983 0.019 0.000 152.692 0.022 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/traceback_utils.py:138(error_handler)
6983 0.129 0.000 152.643 0.022 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py:887(__call__)
6983 0.086 0.000 152.281 0.022 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py:934(_call)
6983 0.068 0.000 152.188 0.022 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:2951(__call__)
6983 0.081 0.000 149.721 0.021 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:1782(_call_flat)
6983 0.205 0.000 149.416 0.021 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:454(call)
6983 0.034 0.000 149.041 0.021 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/execute.py:29(quick_execute)
6983 148.998 0.021 148.998 0.021 {built-in method tensorflow.python._pywrap_tfe.TFE_Py_Execute}
6983 0.048 0.000 1.928 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:3219(_maybe_define_function)
6/4 0.148 0.025 1.925 0.481 {built-in method numpy.core._multiarray_umath.implement_array_function}
1 0.000 0.000 1.882 1.882 <__array_function__ internals>:2(vstack)
1 0.000 0.000 1.877 1.877 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/numpy/core/shape_base.py:223(vstack)
6987 1.833 0.000 1.833 0.000 {built-in method numpy.array}
1 0.000 0.000 1.736 1.736 <__array_function__ internals>:2(atleast_2d)
1 0.015 0.015 1.734 1.734 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/numpy/core/shape_base.py:82(atleast_2d)
6984 0.004 0.000 1.718 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/numpy/core/_asarray.py:110(asanyarray)
6983 0.046 0.000 1.381 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:2648(canonicalize_function_inputs)
6983 0.080 0.000 1.311 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:2817(_convert_inputs_to_signature)
6983 0.009 0.000 0.652 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/profiler/trace.py:178(wrapped)
6983 0.076 0.000 0.643 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/ops.py:1636(convert_to_tensor)
6983 0.015 0.000 0.472 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:2051(captured_inputs)
6983 0.005 0.000 0.405 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/constant_op.py:340(_constant_tensor_conversion_function)
6983 0.007 0.000 0.400 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/constant_op.py:170(constant)
6983 0.016 0.000 0.393 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/constant_op.py:271(_constant_impl)
6983 0.009 0.000 0.367 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/constant_op.py:302(_constant_eager_impl)
6983 0.343 0.000 0.359 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/constant_op.py:74(convert_to_eager_tensor)
27932 0.024 0.000 0.322 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/nest.py:353(flatten)
27932 0.298 0.000 0.298 0.000 {built-in method tensorflow.python.util._pywrap_utils.Flatten}
6983 0.027 0.000 0.275 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function_cache.py:250(make_cache_key)
6983 0.169 0.000 0.232 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:2058(<listcomp>)
6983 0.014 0.000 0.219 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/nest.py:1157(flatten_up_to)
6983 0.006 0.000 0.181 0.000 {built-in method builtins.any}
13966 0.012 0.000 0.175 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/nest.py:689(pack_sequence_as)
13966 0.010 0.000 0.175 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:2851(<genexpr>)
6983 0.051 0.000 0.172 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:2196(_build_call_outputs)
6983 0.018 0.000 0.165 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/tensor_spec.py:124(is_compatible_with)
6983 0.016 0.000 0.164 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function_cache.py:154(lookup)
13966 0.032 0.000 0.163 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/nest.py:649(_pack_sequence_as)
13966/6983 0.058 0.000 0.158 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/nest.py:1029(assert_shallow_structure)
13966 0.044 0.000 0.151 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/ops/handle_data_util.py:25(copy_handle_data)
6983 0.031 0.000 0.146 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/tensor_spec.py:70(is_compatible_with)
1 0.000 0.000 0.141 0.141 <__array_function__ internals>:2(concatenate)
6983 0.030 0.000 0.137 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py:185(called_without_tracing)
13966 0.020 0.000 0.119 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function_cache.py:98(__eq__)
6983 0.051 0.000 0.116 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function_cache.py:265(_make_execution_context)
251402 0.060 0.000 0.112 0.000 {built-in method builtins.isinstance}
6983 0.014 0.000 0.106 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function_trace_type.py:314(make_function_signature)
1 0.000 0.000 0.099 0.099 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/top2vec/Top2Vec.py:812(_l2_normalize)
1 0.026 0.026 0.099 0.099 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/sklearn/preprocessing/_data.py:1731(normalize)
6983 0.023 0.000 0.093 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py:180(_get_detector)
6983 0.048 0.000 0.090 0.000 {built-in method tensorflow.python._pywrap_tfe.TFE_Py_EncodeArg}
48881 0.089 0.000 0.089 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/dtypes.py:175(__eq__)
13966 0.016 0.000 0.082 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function_trace_type.py:201(__eq__)
6983 0.006 0.000 0.082 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/ops/array_ops.py:1534(_autopacking_conversion_function)
6983 0.011 0.000 0.075 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/ops/array_ops.py:1524(_should_not_autopack)
6983 0.033 0.000 0.075 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/nest.py:183(_sequence_like)
1256940 0.063 0.000 0.063 0.000 {built-in method builtins.callable}
69830/20949 0.045 0.000 0.062 0.000 {built-in method builtins.hash}
34915 0.062 0.000 0.062 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/context.py:927(executing_eagerly)
20949 0.007 0.000 0.061 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function_cache.py:95(__hash__)
6983 0.019 0.000 0.060 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/ops.py:1320(shape)
1 0.000 0.000 0.059 0.059 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/sklearn/utils/validation.py:486(check_array)
6983 0.058 0.000 0.058 0.000 /Users/davidlaxer/anaconda3/lib/python3.8/weakref.py:422(__contains__)
6983 0.015 0.000 0.053 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/context.py:2087(executing_eagerly)
55866 0.016 0.000 0.052 0.000 /Users/davidlaxer/anaconda3/lib/python3.8/abc.py:96(__instancecheck__)
41898 0.039 0.000 0.050 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/ops.py:1193(dtype)
41898 0.026 0.000 0.049 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/nest.py:253(_yield_value)
69830 0.049 0.000 0.049 0.000 {built-in method tensorflow.python.util._pywrap_utils.IsNestedOrComposite}
6983 0.005 0.000 0.048 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/nest.py:1242(<listcomp>)
13966 0.016 0.000 0.044 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/ops.py:343(__eq__)
20949 0.006 0.000 0.043 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function_trace_type.py:210(__hash__)
27932/13966 0.027 0.000 0.042 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/nest.py:999(_yield_flat_up_to)
6983 0.020 0.000 0.039 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/tensor_spec.py:229(__tf_tracing_type__)
55866 0.035 0.000 0.035 0.000 {built-in method _abc._abc_instancecheck}
6983 0.011 0.000 0.035 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/tensor_shape.py:761(__init__)
6983 0.013 0.000 0.034 0.000 {built-in method builtins.all}
69830 0.029 0.000 0.032 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/nest.py:258(_yield_sorted_items)
13967 0.031 0.000 0.031 0.000 {built-in method builtins.getattr}
6983 0.006 0.000 0.030 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/traceback_utils.py:32(is_traceback_filtering_enabled)
20949 0.009 0.000 0.030 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/dtypes.py:188(__ne__)
13966 0.016 0.000 0.029 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/ops.py:6285(get_default_graph)
6983 0.013 0.000 0.029 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/nest.py:609(_packed_nest_with_indices)
1 0.000 0.000 0.029 0.029 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/sklearn/utils/validation.py:90(_assert_all_finite)
1 0.000 0.000 0.028 0.028 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/sklearn/utils/extmath.py:869(_safe_accumulator_op)
1 0.000 0.000 0.028 0.028 <__array_function__ internals>:2(sum)
1 0.000 0.000 0.028 0.028 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/numpy/core/fromnumeric.py:2111(sum)
1 0.000 0.000 0.028 0.028 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/numpy/core/fromnumeric.py:70(_wrapreduction)
1 0.028 0.028 0.028 0.028 {method 'reduce' of 'numpy.ufunc' objects}
20949 0.008 0.000 0.028 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/ops.py:340(__hash__)
6983 0.013 0.000 0.024 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/dtypes.py:155(is_compatible_with)
13966 0.023 0.000 0.024 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/dtypes.py:678(as_dtype)
20949 0.009 0.000 0.024 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/dtypes.py:63(base_dtype)
6983 0.013 0.000 0.023 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/tensor_shape.py:771(<listcomp>)
6983 0.005 0.000 0.022 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/util/nest.py:146(is_namedtuple)
118711 0.020 0.000 0.020 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/ops/array_ops.py:1530(<genexpr>)
104747 0.019 0.000 0.019 0.000 {built-in method builtins.len}
6983 0.014 0.000 0.019 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function_trace_type.py:61(__init__)
6983 0.017 0.000 0.017 0.000 {built-in method tensorflow.python.util._pywrap_utils.IsNamedtuple}
13966 0.010 0.000 0.015 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:2968(input_signature)
6983 0.008 0.000 0.015 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/ops.py:5418(_distribution_strategy_stack)
13966 0.015 0.000 0.015 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py:850(experimental_get_tracing_count)
20949 0.015 0.000 0.015 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/dtypes.py:50(_is_ref_dtype)
6983 0.008 0.000 0.014 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/tensor_conversion_registry.py:112(get)
6983 0.010 0.000 0.014 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/six.py:582(iterkeys)
6983 0.013 0.000 0.014 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:2865(<listcomp>)
6983 0.014 0.000 0.014 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py:162(called_without_tracing)
1 0.000 0.000 0.014 0.014 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/sklearn/utils/extmath.py:51(row_norms)
1 0.000 0.000 0.014 0.014 <__array_function__ internals>:2(einsum)
1 0.000 0.000 0.014 0.014 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/numpy/core/einsumfunc.py:997(einsum)
1 0.014 0.014 0.014 0.014 {built-in method numpy.core._multiarray_umath.c_einsum}
6983 0.006 0.000 0.014 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/tape.py:220(could_possibly_record)
13966 0.010 0.000 0.013 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function_trace_type.py:158(_has_same_structure)
6983 0.011 0.000 0.013 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/ops.py:290(__init__)
13966 0.013 0.000 0.013 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/ops.py:5814(get_default)
13966 0.012 0.000 0.012 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/context.py:949(device_name)
6983 0.011 0.000 0.011 0.000 /Users/davidlaxer/anaconda3/lib/python3.8/weakref.py:382(__getitem__)
6983 0.011 0.000 0.011 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/context.py:1203(function_call_options)
6983 0.008 0.000 0.011 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/saved_model/save_context.py:59(in_save_context)
41898 0.011 0.000 0.011 0.000 {method '_datatype_enum' of 'tensorflow.python.framework.ops.EagerTensor' objects}
6983 0.005 0.000 0.011 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/ops/gradients_util.py:1016(PossibleTapeGradientTypes)
6983 0.010 0.000 0.010 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py:539(__exit__)
13976 0.010 0.000 0.010 0.000 {built-in method builtins.hasattr}
6983 0.007 0.000 0.009 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/tensor_shape.py:1107(is_compatible_with)
6983 0.009 0.000 0.009 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/tensor_shape.py:196(__init__)
6983 0.009 0.000 0.009 0.000 {built-in method tensorflow.python.util._pywrap_utils.IsTensor}
6983 0.004 0.000 0.008 0.000 <string>:1(__new__)
6983 0.008 0.000 0.008 0.000 {built-in method tensorflow.python._pywrap_tfe.TFE_Py_TapeSetIsEmpty}
13966 0.007 0.000 0.007 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/context.py:546(ensure_initialized)
20949 0.007 0.000 0.007 0.000 {built-in method tensorflow.python.util._pywrap_utils.IsCompositeTensor}
6983 0.006 0.000 0.007 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:2973(flat_input_signature)
13966 0.007 0.000 0.007 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/tensor_spec.py:60(dtype)
6983 0.005 0.000 0.007 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:2640(_validate_inputs)
6983 0.006 0.000 0.006 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/profiler/trace.py:50(__init__)
6983 0.006 0.000 0.006 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function_cache.py:60(__init__)
6983 0.006 0.000 0.006 0.000 {method '_shape_tuple' of 'tensorflow.python.framework.ops.EagerTensor' objects}
6983 0.006 0.000 0.006 0.000 {built-in method tensorflow.python.util._pywrap_utils.IsMutableMapping}
6983 0.006 0.000 0.006 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function_trace_type.py:38(__init__)
6983 0.006 0.000 0.006 0.000 {built-in method tensorflow.python._pywrap_tfe.TFE_Py_TapeSetPossibleGradientTypes}
27932 0.005 0.000 0.005 0.000 {method 'append' of 'list' objects}
6983 0.005 0.000 0.005 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/framework/c_api_util.py:100(has_been_garbage_collected)
27932 0.005 0.000 0.005 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/context.py:2057(context_safe)
13966 0.005 0.000 0.005 0.000 {built-in method tensorflow.python.util._pywrap_utils.IsTypeSpec}
6983 0.005 0.000 0.005 0.000 {method 'acquire' of '_thread.RLock' objects}
13966 0.005 0.000 0.005 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:2552(input_signature)
6983 0.005 0.000 0.005 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/function.py:216(__exit__)
13966 0.005 0.000 0.005 0.000 /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages/tensorflow/python/eager/context.py:885(_handle)
...
When I increased 'enmbedding_batch_size=256' it crashed OS X 12.3.1
panic(cpu 8 caller 0xffffff8020d449ad): userspace watchdog timeout: no successful checkins from WindowServer in 120 seconds
service: logd, total successful checkins since wake (127621 seconds ago): 12763, last successful checkin: 0 seconds ago
service: WindowServer, total successful checkins since wake (127621 seconds ago): 12751, last successful checkin: 120 seconds ago
service: remoted, total successful checkins since wake (127621 seconds ago): 12763, last successful checkin: 0 seconds ago
service: opendirectoryd, total successful checkins since wake (127621 seconds ago): 12763, last successful checkin: 0 seconds ago
Panicked task 0xffffff95dce7f9c0: 3 threads: pid 133: watchdogd
Backtrace (CPU 8), panicked thread: 0xffffff87770d6550, Frame : Return Address
0xffffffd15babb670 : 0xffffff801d883e2d
0xffffffd15babb6c0 : 0xffffff801d9e3cb6
0xffffffd15babb700 : 0xffffff801d9d350d
0xffffffd15babb750 : 0xffffff801d823a60
0xffffffd15babb770 : 0xffffff801d8841fd
0xffffffd15babb890 : 0xffffff801d8839b6
0xffffffd15babb8f0 : 0xffffff801e116573
0xffffffd15babb9e0 : 0xffffff8020d449ad
0xffffffd15babb9f0 : 0xffffff8020d44600
0xffffffd15babba10 : 0xffffff8020d439c7
0xffffffd15babbb40 : 0xffffff801e0848cc
0xffffffd15babbca0 : 0xffffff801d98a1a6
0xffffffd15babbdb0 : 0xffffff801d88a6db
0xffffffd15babbe10 : 0xffffff801d85ed03
0xffffffd15babbe60 : 0xffffff801d875259
0xffffffd15babbef0 : 0xffffff801d9b61a8
0xffffffd15babbfa0 : 0xffffff801d824246
Kernel Extensions in backtrace:
com.apple.driver.watchdog(1.0)[01A90A91-CE41-37C4-A5C0-BBD735087472]@0xffffff8020d42000->0xffffff8020d44fff
Process name corresponding to current thread (0xffffff87770d6550): watchdogd
Boot args: chunklist-security-epoch=0 -chunklist-no-rev2-dev
Mac OS version:
21E258
Kernel version:
Darwin Kernel Version 21.4.0: Fri Mar 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64
Kernel UUID: B6F8637B-0844-355F-8C82-60FA06149384
KernelCache slide: 0x000000001d600000
KernelCache base: 0xffffff801d800000
Kernel slide: 0x000000001d610000
Kernel text base: 0xffffff801d810000
__HIB text base: 0xffffff801d700000
System model name: iMac20,2 (Mac-AF89B6D9451A490B)
System shutdown begun: NO
Hibernation exit count: 0
System uptime in nanoseconds: 580860938653267
Last Sleep: absolute base_tsc base_nano
Uptime : 0x0002104a39e99311
Sleep : 0x00014c05bb0263eb 0x00000000b1a4f4fc 0x00014bf3f0948456
Wake : 0x00014c05c311c37a 0x00000000b156c318 0x00014c05bfe0324e
Compressor Info: 32% of compressed pages limit (OK) and 99% of segments limit (BAD) with 8 swapfiles and OK swap space
Zone info:
Foreign : 0xffffff80354ab000 - 0xffffff80354b9000
Native : 0xffffff81102b8000 - 0xffffffa1102b8000
Readonly: 0xffffff85dcf84000 - 0xffffff877691d000
Metadata: 0xffffffe9d1f0a000 - 0xffffffe9f2cb9000
Bitmaps : 0xffffffe9f2cb9000 - 0xffffffea12cb9000
last started kext at 356398810041: @filesystems.afpfs 11.3.1 (addr 0xffffff7fb6c29000, size 282624)
last stopped kext at 580792842657981: >!AThunderboltEDMSink 5.0.3 (addr 0xffffff7fb65c3000, size 32768)
loaded kexts:
@filesystems.afpfs 11.3.1
@nke.asp_tcp 8.2.1
>!AHIDALSService 1
>!APlatformEnabler 2.7.0d0
>AGPM 127
>X86PlatformShim 1.0.0
>!AUpstreamUserClient 3.6.9
...
Tensorflow-macos & Tensorflow-metal
% pip show tensorflow-macos
WARNING: Ignoring invalid distribution -umpy (/Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages)
Name: tensorflow-macos
Version: 2.8.0
Summary: TensorFlow is an open source machine learning framework for everyone.
Home-page: https://www.tensorflow.org/
Author: Google Inc.
Author-email: [email protected]
License: Apache 2.0
Location: /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages
Requires: absl-py, astunparse, flatbuffers, gast, google-pasta, grpcio, h5py, keras, keras-preprocessing, libclang, numpy, opt-einsum, protobuf, setuptools, six, tensorboard, termcolor, tf-estimator-nightly, typing-extensions, wrapt
Required-by:
(tensorflow-metal) (base) davidlaxer@x86_64-apple-darwin13 top2vec % pip show tensorflow-metal
WARNING: Ignoring invalid distribution -umpy (/Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages)
Name: tensorflow-metal
Version: 0.4.0
Summary: TensorFlow acceleration for Mac GPUs.
Home-page: https://developer.apple.com/metal/tensorflow-plugin/
Author:
Author-email:
License: MIT License. Copyright © 2020-2021 Apple Inc. All rights reserved.
Location: /Users/davidlaxer/tensorflow-metal/lib/python3.8/site-packages
Requires: six, wheel
Required-by:
Any suggestions on how to increase performance?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
