【发布时间】:2022-01-02 07:36:46
【问题描述】:
我正在尝试创建一个神经网络,它可以获取姓名的首字母和最后一个字母,以确定人是否为男性。但不幸的是,我得到了一个错误。请帮忙。
import pandas as pd
from sklearn.model_selection import train_test_split
nsl = ['r','a','v','r','p','a','t','r','m','g']
nel = ['j','k','k','m','l','i','a','a','u','i']
isMale = [1,1,1,1,1,0,0,0,0,0]
df = pd.DataFrame(list(zip(nsl, nel, isMale)), columns =('nsl', 'nel', 'isMale'))
df
和
X = df.drop(['isMale'], axis=1)
y = df['isMale']
和
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.2)
y_train.head()
和
from tensorflow.keras.models import Sequential, load_model
from tensorflow.keras.layers import Dense
from sklearn.metrics import accuracy_score
和
model = Sequential()
model.add(Dense(units=32, activation='relu', input_dim=len(X_train.columns)))
model.add(Dense(units=64, activation='relu'))
model.add(Dense(units=1, activation='sigmoid'))
和
model.compile(loss='binary_crossentropy', optimizer='sgd')
和
model.fit(X_train, y_train, epochs=50)
我使用的是 Google Colab,在最后一行 (model.fit) 中出现以下错误
---------------------------------------------------------------------------
UnimplementedError Traceback (most recent call last)
<ipython-input-21-261e644ab303> in <module>()
----> 1 model.fit(X_train, y_train, epochs=50)
1 frames
/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/execute.py in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
57 ctx.ensure_initialized()
58 tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
---> 59 inputs, attrs, num_outputs)
60 except core._NotOkStatusException as e:
61 if name is not None:
UnimplementedError: Cast string to float is not supported
[[node sequential/Cast
(defined at /usr/local/lib/python3.7/dist-packages/keras/engine/functional.py:671)
]] [Op:__inference_train_function_1159]
Errors may have originated from an input operation.
Input Source operations connected to node sequential/Cast:
In[0] IteratorGetNext (defined at /usr/local/lib/python3.7/dist-packages/keras/engine/training.py:866)
Operation defined at: (most recent call last)
>>> File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
>>> "__main__", mod_spec)
>>>
>>> File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
>>> exec(code, run_globals)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py", line 16, in <module>
>>> app.launch_new_instance()
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/traitlets/config/application.py", line 846, in launch_instance
>>> app.start()
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/ipykernel/kernelapp.py", line 499, in start
>>> self.io_loop.start()
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/tornado/platform/asyncio.py", line 132, in start
>>> self.asyncio_loop.run_forever()
>>>
>>> File "/usr/lib/python3.7/asyncio/base_events.py", line 541, in run_forever
>>> self._run_once()
>>>
>>> File "/usr/lib/python3.7/asyncio/base_events.py", line 1786, in _run_once
>>> handle._run()
>>>
>>> File "/usr/lib/python3.7/asyncio/events.py", line 88, in _run
>>> self._context.run(self._callback, *self._args)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/tornado/platform/asyncio.py", line 122, in _handle_events
>>> handler_func(fileobj, events)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/tornado/stack_context.py", line 300, in null_wrapper
>>> return fn(*args, **kwargs)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/zmq/eventloop/zmqstream.py", line 452, in _handle_events
>>> self._handle_recv()
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/zmq/eventloop/zmqstream.py", line 481, in _handle_recv
>>> self._run_callback(callback, msg)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/zmq/eventloop/zmqstream.py", line 431, in _run_callback
>>> callback(*args, **kwargs)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/tornado/stack_context.py", line 300, in null_wrapper
>>> return fn(*args, **kwargs)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/ipykernel/kernelbase.py", line 283, in dispatcher
>>> return self.dispatch_shell(stream, msg)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/ipykernel/kernelbase.py", line 233, in dispatch_shell
>>> handler(stream, idents, msg)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/ipykernel/kernelbase.py", line 399, in execute_request
>>> user_expressions, allow_stdin)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/ipykernel/ipkernel.py", line 208, in do_execute
>>> res = shell.run_cell(code, store_history=store_history, silent=silent)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/ipykernel/zmqshell.py", line 537, in run_cell
>>> return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/IPython/core/interactiveshell.py", line 2718, in run_cell
>>> interactivity=interactivity, compiler=compiler, result=result)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/IPython/core/interactiveshell.py", line 2828, in run_ast_nodes
>>> if self.run_code(code, result):
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/IPython/core/interactiveshell.py", line 2882, in run_code
>>> exec(code_obj, self.user_global_ns, self.user_ns)
>>>
>>> File "<ipython-input-21-261e644ab303>", line 1, in <module>
>>> model.fit(X_train, y_train, epochs=50)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/keras/utils/traceback_utils.py", line 64, in error_handler
>>> return fn(*args, **kwargs)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 1216, in fit
>>> tmp_logs = self.train_function(iterator)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 878, in train_function
>>> return step_function(self, iterator)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 867, in step_function
>>> outputs = model.distribute_strategy.run(run_step, args=(data,))
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 860, in run_step
>>> outputs = model.train_step(data)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 808, in train_step
>>> y_pred = self(x, training=True)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/keras/utils/traceback_utils.py", line 64, in error_handler
>>> return fn(*args, **kwargs)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/keras/engine/base_layer.py", line 1083, in __call__
>>> outputs = call_fn(inputs, *args, **kwargs)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/keras/utils/traceback_utils.py", line 92, in error_handler
>>> return fn(*args, **kwargs)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/keras/engine/sequential.py", line 373, in call
>>> return super(Sequential, self).call(inputs, training=training, mask=mask)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/keras/engine/functional.py", line 452, in call
>>> inputs, training=training, mask=mask)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/keras/engine/functional.py", line 571, in _run_internal_graph
>>> y = self._conform_to_reference_input(y, ref_input=x)
>>>
>>> File "/usr/local/lib/python3.7/dist-packages/keras/engine/functional.py", line 671, in _conform_to_reference_input
>>> tensor = tf.cast(tensor, dtype=ref_input.dtype)
>>>
各位,请帮我解决这个错误。
【问题讨论】:
标签: python deep-learning tensorflow2.0