def cell_from_spec(cell_classname, cell_params):
"""Create a RNN Cell instance from a JSON string.
Args:
cell_classname: Name of the cell class, e.g. "BasicLSTMCell".
cell_params: A dictionary of parameters to pass to the cell constructor.
Returns:
A RNNCell instance.
"""
cell_params = cell_params.copy()
# Find the cell class
cell_class = locate(cell_classname) or getattr(rnn_cell, cell_classname)
# Make sure additional arguments are valid
cell_args = set(inspect.getargspec(cell_class.__init__).args[1:])
for key in cell_params.keys():
if key not in cell_args:
raise ValueError(
"""{} is not a valid argument for {} class. Available arguments
are: {}""".format(key, cell_class.__name__, cell_args))
# Create cell
return cell_class(**cell_params)
评论列表
文章目录