Я работаю с блокнотом Jupyter, описанным в главе 15 книги Практическое машинное обучение с помощью Scikit-Learn, Keras & TensorFlow Орельена Жерона (третье издание). Я обнаружил ошибку в ячейке 43 записной книжки. Это в параграфе Многомерные временные ряды. Исходный код следующий:
tf.random.set_seed(42) # extra code – ensures reproducibility
train_mulvar_ds = tf.keras.utils.timeseries_dataset_from_array(
mulvar_train.to_numpy(), # use all 5 columns as input
targets=mulvar_train["rail"][seq_length:], # forecast only the rail series
sequence_length=seq_length,
batch_size=32,
shuffle=True,
seed=42
)
Я работаю с блокнотом Jupyter, описанным в главе 15 книги [b]Практическое машинное обучение с помощью Scikit-Learn, Keras & TensorFlow[/b] Орельена Жерона (третье издание). Я обнаружил ошибку в ячейке 43 записной книжки. Это в параграфе [b]Многомерные временные ряды[/b]. Исходный код следующий: [code]tf.random.set_seed(42) # extra code – ensures reproducibility
train_mulvar_ds = tf.keras.utils.timeseries_dataset_from_array( mulvar_train.to_numpy(), # use all 5 columns as input targets=mulvar_train["rail"][seq_length:], # forecast only the rail series sequence_length=seq_length, batch_size=32, shuffle=True, seed=42 ) [/code] Ошибка: [code]--------------------------------------------------------------------------- ValueError Traceback (most recent call last) Cell In[44], line 3 1 tf.random.set_seed(42) # extra code – ensures reproducibility ----> 3 train_mulvar_ds = tf.keras.utils.timeseries_dataset_from_array( 4 mulvar_train.to_numpy(), # use all 5 columns as input 5 targets=mulvar_train["rail"][seq_length:], # forecast only the rail series 6 sequence_length=seq_length, 7 batch_size=32, 8 shuffle=True, 9 seed=42 10 ) 11 valid_mulvar_ds = tf.keras.utils.timeseries_dataset_from_array( 12 mulvar_valid.to_numpy(), 13 targets=mulvar_valid["rail"][seq_length:], 14 sequence_length=seq_length, 15 batch_size=32 16 )
File ~/anaconda3/envs/mlp/lib/python3.8/site-packages/keras/src/utils/timeseries_dataset.py:245, in timeseries_dataset_from_array(data, targets, sequence_length, sequence_stride, sampling_rate, batch_size, shuffle, seed, start_index, end_index) 233 # For each initial window position, generates indices of the window elements 234 indices = tf.data.Dataset.zip( 235 (tf.data.Dataset.range(len(start_positions)), positions_ds) 236 ).map( (...) 242 num_parallel_calls=tf.data.AUTOTUNE, 243 ) --> 245 dataset = sequences_from_indices(data, indices, start_index, end_index) 246 if targets is not None: 247 indices = tf.data.Dataset.zip( 248 (tf.data.Dataset.range(len(start_positions)), positions_ds) 249 ).map( 250 lambda i, positions: positions[i], 251 num_parallel_calls=tf.data.AUTOTUNE, 252 )
File ~/anaconda3/envs/mlp/lib/python3.8/site-packages/tensorflow/python/profiler/trace.py:183, in trace_wrapper..inner_wrapper..wrapped(*args, **kwargs) 181 with Trace(trace_name, **trace_kwargs): 182 return func(*args, **kwargs) --> 183 return func(*args, **kwargs)
File ~/anaconda3/envs/mlp/lib/python3.8/site-packages/tensorflow/python/framework/ops.py:1443, in convert_to_tensor(value, dtype, name, as_ref, preferred_dtype, dtype_hint, ctx, accepted_result_types) 1441 # TODO(b/142518781): Fix all call-sites and remove redundant arg 1442 preferred_dtype = preferred_dtype or dtype_hint -> 1443 return tensor_conversion_registry.convert( 1444 value, dtype, name, as_ref, preferred_dtype, accepted_result_types 1445 )
File ~/anaconda3/envs/mlp/lib/python3.8/site-packages/tensorflow/python/framework/tensor_conversion_registry.py:234, in convert(value, dtype, name, as_ref, preferred_dtype, accepted_result_types) 225 raise RuntimeError( 226 _add_error_prefix( 227 f"Conversion function {conversion_func!r} for type " (...) 230 f"actual = {ret.dtype.base_dtype.name}", 231 name=name)) 233 if ret is None: --> 234 ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref) 236 if ret is NotImplemented: 237 continue
File ~/anaconda3/envs/mlp/lib/python3.8/site-packages/tensorflow/python/framework/constant_op.py:263, in constant(value, dtype, shape, name) 166 @tf_export("constant", v1=[]) 167 def constant(value, dtype=None, shape=None, name="Const"): 168 """Creates a constant tensor from a tensor-like object. 169 170 Note: All eager `tf.Tensor` values are immutable (in contrast to (...) 261 ValueError: if called on a symbolic tensor. 262 """ --> 263 return _constant_impl(value, dtype, shape, name, verify_shape=False, 264 allow_broadcast=True)
File ~/anaconda3/envs/mlp/lib/python3.8/site-packages/tensorflow/python/framework/constant_op.py:285, in _constant_eager_impl(ctx, value, dtype, shape, verify_shape) 283 def _constant_eager_impl(ctx, value, dtype, shape, verify_shape): 284 """Creates a constant on the current device.""" --> 285 t = convert_to_eager_tensor(value, ctx, dtype) 286 if shape is None: 287 return t
ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type float). [/code] Я использую MacBook Pro с процессором M1 Max. Я не знаю, приводит ли это к ошибке. Как это решить?
В настоящее время я работаю над данными временного ряда, которые выглядят следующим образом
нажмите, чтобы просмотреть данные
Данные состоят из 5 компаний, 15 продуктов (в каждой компании 3-5 продуктов) и 6 разных регионов
Цель Построить единый...
В настоящее время я работаю над данными временного ряда, которые выглядят следующим образом
нажмите, чтобы просмотреть данные
Данные состоят из 5 компаний, 15 продуктов (в каждой компании 3-5 продуктов) и 6 разных регионов
Цель Построить единый...
Я заканчиваю курс udemy по прогнозированию временных рядов. Я очень новичок в программировании.
Когда дело доходит до разделения данных, курс указывает мне на то, что нужно вручную определять, где разделить данные. Есть ли способ автоматически...
Я заканчиваю курс udemy по прогнозированию временных рядов. Я очень новичок в программировании.
Когда дело доходит до разделения данных, курс указывает мне на то, что нужно вручную определять, где разделить данные. Есть ли способ автоматически...
Я заканчиваю курс Udemy по прогнозированию временных рядов. я новичок в программировании.
Когда дело доходит до разделения данных, курс указывает мне на то, что мне нужно вручную определить, где разделить данные. Есть ли способ автоматически...