This is output printed to console from the first `.fit` call: ``` WARNING:tensorflow:Output output_1 missing from loss dictionary. We assume this was done on purpose. The fit and evaluate APIs will not be expecting any data to be passed to output_1. Train on 150 samples Epoch 1/2 Metal device set to: Apple M1 systemMemory: 16.00 GB maxCacheSize: 5.33 GB 150/150 [==============================] - 0s 767us/sample - loss: 1019.6863 Epoch 2/2 150/150 [==============================] - 0s 198us/sample - loss: 884.8478 2021-11-21 17:42:08.584170: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:305] Could not identify NUMA node of platform GPU ID 0, defaulting to 0. Your kernel may not have been built with NUMA support. 2021-11-21 17:42:08.584290: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:271] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 0 MB memory) -> physical PluggableDevice (device: 0, name: METAL, pci bus id: <undefined>) 2021-11-21 17:42:08.594407: W tensorflow/core/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz 2021-11-21 17:42:08.594512: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:112] Plugin optimizer for device_type GPU is enabled. 2021-11-21 17:42:08.607881: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:112] Plugin optimizer for device_type GPU is enabled. 2021-11-21 17:42:08.629400: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:112] Plugin optimizer for device_type GPU is enabled. <keras.callbacks.History at 0x104d50400> ``` This error message shown after the second `.fit` call is the following: ``` --------------------------------------------------------------------------- InvalidArgumentError Traceback (most recent call last) ~/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args) 1374 try: -> 1375 return fn(*args) 1376 except errors.OpError as e: ~/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/client/session.py in _run_fn(feed_dict, fetch_list, target_list, options, run_metadata) 1357 # Ensure any changes to the graph are reflected in the runtime. -> 1358 self._extend_graph() 1359 return self._call_tf_sessionrun(options, feed_dict, fetch_list, ~/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/client/session.py in _extend_graph(self) 1397 with self._graph._session_run_lock(): # pylint: disable=protected-access -> 1398 tf_session.ExtendSession(self._session) 1399 InvalidArgumentError: Cannot assign a device for operation training_2/Adam/vae_1/Encoder/dense_5/bias/m/IsInitialized/VarIsInitializedOp: Could not satisfy explicit device specification '' because the node {{colocation_node training_2/Adam/vae_1/Encoder/dense_5/bias/m/IsInitialized/VarIsInitializedOp}} was colocated with a group of nodes that required incompatible device '/job:localhost/replica:0/task:0/device:GPU:0'. All available devices [/job:localhost/replica:0/task:0/device:CPU:0, /job:localhost/replica:0/task:0/device:GPU:0]. Colocation Debug Info: Colocation group had the following types and supported devices: Root Member(assigned_device_name_index_=2 requested_device_name_='/job:localhost/replica:0/task:0/device:GPU:0' assigned_device_name_='/job:localhost/replica:0/task:0/device:GPU:0' resource_device_name_='/job:localhost/replica:0/task:0/device:GPU:0' supported_device_types_=[CPU] possible_devices_=[] ResourceApplyAdam: CPU AssignVariableOp: GPU CPU VarIsInitializedOp: GPU CPU ReadVariableOp: GPU CPU VarHandleOp: GPU CPU Const: GPU CPU Colocation members, user-requested devices, and framework assigned devices, if any: vae_1/Encoder/dense_5/bias/Initializer/zeros (Const) vae_1/Encoder/dense_5/bias (VarHandleOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 vae_1/Encoder/dense_5/bias/IsInitialized/VarIsInitializedOp (VarIsInitializedOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 vae_1/Encoder/dense_5/bias/Assign (AssignVariableOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 vae_1/Encoder/dense_5/bias/Read/ReadVariableOp (ReadVariableOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 vae_1/Encoder/dense_5/BiasAdd/ReadVariableOp (ReadVariableOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 VarIsInitializedOp_42 (VarIsInitializedOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 AssignVariableOp_1 (AssignVariableOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 ReadVariableOp_1 (ReadVariableOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 training_2/Adam/vae_1/Encoder/dense_5/bias/m/Initializer/zeros (Const) training_2/Adam/vae_1/Encoder/dense_5/bias/m (VarHandleOp) training_2/Adam/vae_1/Encoder/dense_5/bias/m/IsInitialized/VarIsInitializedOp (VarIsInitializedOp) training_2/Adam/vae_1/Encoder/dense_5/bias/m/Assign (AssignVariableOp) training_2/Adam/vae_1/Encoder/dense_5/bias/m/Read/ReadVariableOp (ReadVariableOp) training_2/Adam/vae_1/Encoder/dense_5/bias/v/Initializer/zeros (Const) training_2/Adam/vae_1/Encoder/dense_5/bias/v (VarHandleOp) training_2/Adam/vae_1/Encoder/dense_5/bias/v/IsInitialized/VarIsInitializedOp (VarIsInitializedOp) training_2/Adam/vae_1/Encoder/dense_5/bias/v/Assign (AssignVariableOp) training_2/Adam/vae_1/Encoder/dense_5/bias/v/Read/ReadVariableOp (ReadVariableOp) training_2/Adam/Adam/update_vae_1/Encoder/dense_5/bias/ResourceApplyAdam (ResourceApplyAdam) VarIsInitializedOp_52 (VarIsInitializedOp) VarIsInitializedOp_58 (VarIsInitializedOp) [[{{node training_2/Adam/vae_1/Encoder/dense_5/bias/m/IsInitialized/VarIsInitializedOp}}]] During handling of the above exception, another exception occurred: InvalidArgumentError Traceback (most recent call last) /var/folders/dq/kfj02tc94z1f_z3jfq1y_8p80000gn/T/ipykernel_18605/2024192839.py in <module> ----> 1 m.fit(x=data, y=None, batch_size=16, epochs=2, shuffle=True) ~/miniforge3/envs/tf/lib/python3.9/site-packages/keras/engine/training_v1.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_freq, max_queue_size, workers, use_multiprocessing, **kwargs) 775 776 func = self._select_training_loop(x) --> 777 return func.fit( 778 self, 779 x=x, ~/miniforge3/envs/tf/lib/python3.9/site-packages/keras/engine/training_arrays_v1.py in fit(self, model, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_freq, **kwargs) 638 val_x, val_y, val_sample_weights = None, None, None 639 --> 640 return fit_loop( 641 model, 642 inputs=x, ~/miniforge3/envs/tf/lib/python3.9/site-packages/keras/engine/training_arrays_v1.py in model_iteration(model, inputs, targets, sample_weights, batch_size, epochs, verbose, callbacks, val_inputs, val_targets, val_sample_weights, shuffle, initial_epoch, steps_per_epoch, validation_steps, validation_freq, mode, validation_in_fit, prepared_feed_values_from_dataset, steps_name, **kwargs) 374 375 # Get outputs. --> 376 batch_outs = f(ins_batch) 377 if not isinstance(batch_outs, list): 378 batch_outs = [batch_outs] ~/miniforge3/envs/tf/lib/python3.9/site-packages/keras/backend.py in __call__(self, inputs) 3995 inputs = tf.nest.flatten(inputs, expand_composites=True) 3996 -> 3997 session = get_session(inputs) 3998 feed_arrays = [] 3999 array_vals = [] ~/miniforge3/envs/tf/lib/python3.9/site-packages/keras/backend.py in get_session(op_input_list) 709 if not _MANUAL_VAR_INIT: 710 with session.graph.as_default(): --> 711 _initialize_variables(session) 712 return session 713 ~/miniforge3/envs/tf/lib/python3.9/site-packages/keras/backend.py in _initialize_variables(session) 1159 # This step is expensive, so we only run it on variables not already 1160 # marked as initialized. -> 1161 is_initialized = session.run( 1162 [tf.compat.v1.is_variable_initialized(v) for v in candidate_vars]) 1163 # TODO(kathywu): Some metric variables loaded from SavedModel are never ~/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/client/session.py in run(self, fetches, feed_dict, options, run_metadata) 965 966 try: --> 967 result = self._run(None, fetches, feed_dict, options_ptr, 968 run_metadata_ptr) 969 if run_metadata: ~/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/client/session.py in _run(self, handle, fetches, feed_dict, options, run_metadata) 1188 # or if the call is a partial run that specifies feeds. 1189 if final_fetches or final_targets or (handle and feed_dict_tensor): -> 1190 results = self._do_run(handle, final_targets, final_fetches, 1191 feed_dict_tensor, options, run_metadata) 1192 else: ~/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/client/session.py in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata) 1366 1367 if handle is None: -> 1368 return self._do_call(_run_fn, feeds, fetches, targets, options, 1369 run_metadata) 1370 else: ~/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args) 1392 '\nsession_config.graph_options.rewrite_options.' 1393 'disable_meta_optimizer = True') -> 1394 raise type(e)(node_def, op, message) # pylint: disable=no-value-for-parameter 1395 1396 def _extend_graph(self): InvalidArgumentError: Cannot assign a device for operation training_2/Adam/vae_1/Encoder/dense_5/bias/m/IsInitialized/VarIsInitializedOp: Could not satisfy explicit device specification '' because the node node training_2/Adam/vae_1/Encoder/dense_5/bias/m/IsInitialized/VarIsInitializedOp (defined at var/folders/dq/kfj02tc94z1f_z3jfq1y_8p80000gn/T/ipykernel_18605/2024192839.py:1) placed on device No device assignments were active during op 'training_2/Adam/vae_1/Encoder/dense_5/bias/m/IsInitialized/VarIsInitializedOp' creation. was colocated with a group of nodes that required incompatible device '/job:localhost/replica:0/task:0/device:GPU:0'. All available devices [/job:localhost/replica:0/task:0/device:CPU:0, /job:localhost/replica:0/task:0/device:GPU:0]. Colocation Debug Info: Colocation group had the following types and supported devices: Root Member(assigned_device_name_index_=2 requested_device_name_='/job:localhost/replica:0/task:0/device:GPU:0' assigned_device_name_='/job:localhost/replica:0/task:0/device:GPU:0' resource_device_name_='/job:localhost/replica:0/task:0/device:GPU:0' supported_device_types_=[CPU] possible_devices_=[] ResourceApplyAdam: CPU AssignVariableOp: GPU CPU VarIsInitializedOp: GPU CPU ReadVariableOp: GPU CPU VarHandleOp: GPU CPU Const: GPU CPU Colocation members, user-requested devices, and framework assigned devices, if any: vae_1/Encoder/dense_5/bias/Initializer/zeros (Const) vae_1/Encoder/dense_5/bias (VarHandleOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 vae_1/Encoder/dense_5/bias/IsInitialized/VarIsInitializedOp (VarIsInitializedOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 vae_1/Encoder/dense_5/bias/Assign (AssignVariableOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 vae_1/Encoder/dense_5/bias/Read/ReadVariableOp (ReadVariableOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 vae_1/Encoder/dense_5/BiasAdd/ReadVariableOp (ReadVariableOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 VarIsInitializedOp_42 (VarIsInitializedOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 AssignVariableOp_1 (AssignVariableOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 ReadVariableOp_1 (ReadVariableOp) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0 training_2/Adam/vae_1/Encoder/dense_5/bias/m/Initializer/zeros (Const) training_2/Adam/vae_1/Encoder/dense_5/bias/m (VarHandleOp) training_2/Adam/vae_1/Encoder/dense_5/bias/m/IsInitialized/VarIsInitializedOp (VarIsInitializedOp) training_2/Adam/vae_1/Encoder/dense_5/bias/m/Assign (AssignVariableOp) training_2/Adam/vae_1/Encoder/dense_5/bias/m/Read/ReadVariableOp (ReadVariableOp) training_2/Adam/vae_1/Encoder/dense_5/bias/v/Initializer/zeros (Const) training_2/Adam/vae_1/Encoder/dense_5/bias/v (VarHandleOp) training_2/Adam/vae_1/Encoder/dense_5/bias/v/IsInitialized/VarIsInitializedOp (VarIsInitializedOp) training_2/Adam/vae_1/Encoder/dense_5/bias/v/Assign (AssignVariableOp) training_2/Adam/vae_1/Encoder/dense_5/bias/v/Read/ReadVariableOp (ReadVariableOp) training_2/Adam/Adam/update_vae_1/Encoder/dense_5/bias/ResourceApplyAdam (ResourceApplyAdam) VarIsInitializedOp_52 (VarIsInitializedOp) VarIsInitializedOp_58 (VarIsInitializedOp) [[node training_2/Adam/vae_1/Encoder/dense_5/bias/m/IsInitialized/VarIsInitializedOp (defined at var/folders/dq/kfj02tc94z1f_z3jfq1y_8p80000gn/T/ipykernel_18605/2024192839.py:1) ]]Additional information about colocations:Node-device colocations active during op 'training_2/Adam/vae_1/Encoder/dense_5/bias/m/IsInitialized/VarIsInitializedOp' creation: with tf.colocate_with(vae_1/Encoder/dense_5/bias): </Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/keras/optimizer_v2/optimizer_v2.py:900> with tf.colocate_with(vae_1/Encoder/dense_5/bias:0): </Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/keras/optimizer_v2/optimizer_v2.py:900> No device assignments were active during op 'training_2/Adam/vae_1/Encoder/dense_5/bias/m/IsInitialized/VarIsInitializedOp' creation. Original stack trace for 'training_2/Adam/vae_1/Encoder/dense_5/bias/m/IsInitialized/VarIsInitializedOp': File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/runpy.py", line 87, in _run_code exec(code, run_globals) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/ipykernel_launcher.py", line 16, in <module> app.launch_new_instance() File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/traitlets/config/application.py", line 846, in launch_instance app.start() File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/ipykernel/kernelapp.py", line 677, in start self.io_loop.start() File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/tornado/platform/asyncio.py", line 199, in start self.asyncio_loop.run_forever() File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/asyncio/base_events.py", line 596, in run_forever self._run_once() File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/asyncio/base_events.py", line 1890, in _run_once handle._run() File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/asyncio/events.py", line 80, in _run self._context.run(self._callback, *self._args) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/ipykernel/kernelbase.py", line 457, in dispatch_queue await self.process_one() File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/ipykernel/kernelbase.py", line 446, in process_one await dispatch(*args) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/ipykernel/kernelbase.py", line 353, in dispatch_shell await result File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/ipykernel/kernelbase.py", line 648, in execute_request reply_content = await reply_content File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/ipykernel/ipkernel.py", line 353, in do_execute res = shell.run_cell(code, store_history=store_history, silent=silent) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/ipykernel/zmqshell.py", line 533, in run_cell return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 2901, in run_cell result = self._run_cell( File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 2947, in _run_cell return runner(coro) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/IPython/core/async_helpers.py", line 68, in _pseudo_sync_runner coro.send(None) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 3172, in run_cell_async has_raised = await self.run_ast_nodes(code_ast.body, cell_name, File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 3364, in run_ast_nodes if (await self.run_code(code, result, async_=asy)): File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 3444, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "var/folders/dq/kfj02tc94z1f_z3jfq1y_8p80000gn/T/ipykernel_18605/2024192839.py", line 1, in <module> m.fit(x=data, y=None, batch_size=16, epochs=2, shuffle=True) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/keras/engine/training_v1.py", line 777, in fit return func.fit( File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/keras/engine/training_arrays_v1.py", line 640, in fit return fit_loop( File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/keras/engine/training_arrays_v1.py", line 177, in model_iteration f = _make_execution_function(model, mode) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/keras/engine/training_arrays_v1.py", line 547, in _make_execution_function return model._make_execution_function(mode) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/keras/engine/training_v1.py", line 2079, in _make_execution_function self._make_train_function() File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/keras/engine/training_v1.py", line 2010, in _make_train_function updates = self.optimizer.get_updates( File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/keras/optimizer_v2/optimizer_v2.py", line 765, in get_updates return [self.apply_gradients(grads_and_vars)] File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/keras/optimizer_v2/optimizer_v2.py", line 628, in apply_gradients self._create_all_weights(var_list) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/keras/optimizer_v2/optimizer_v2.py", line 815, in _create_all_weights self._create_slots(var_list) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/keras/optimizer_v2/adam.py", line 117, in _create_slots self.add_slot(var, 'm') File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/keras/optimizer_v2/optimizer_v2.py", line 901, in add_slot weight = tf.Variable( File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/ops/variables.py", line 268, in __call__ return cls._variable_v2_call(*args, **kwargs) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/ops/variables.py", line 250, in _variable_v2_call return previous_getter( File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/ops/variables.py", line 243, in <lambda> previous_getter = lambda **kws: default_variable_creator_v2(None, **kws) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/ops/variable_scope.py", line 2662, in default_variable_creator_v2 return resource_variable_ops.ResourceVariable( File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/ops/variables.py", line 270, in __call__ return super(VariableMetaclass, cls).__call__(*args, **kwargs) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/ops/resource_variable_ops.py", line 1602, in __init__ self._init_from_args( File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/ops/resource_variable_ops.py", line 1776, in _init_from_args gen_resource_variable_ops.var_is_initialized_op(handle)) File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/ops/gen_resource_variable_ops.py", line 1277, in var_is_initialized_op _, _, _op, _outputs = _op_def_library._apply_op_helper( File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/framework/op_def_library.py", line 748, in _apply_op_helper op = g._create_op_internal(op_type_name, inputs, dtypes=None, File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/framework/ops.py", line 3561, in _create_op_internal ret = Operation( File "Users/davidnovak/miniforge3/envs/tf/lib/python3.9/site-packages/tensorflow/python/framework/ops.py", line 2045, in __init__ self._traceback = tf_stack.extract_stack_for_node(self._c_op) ```