Обнаружены входные переменные с непостоянным количеством выборок: [4, 1000] ⇐ Python
-
Anonymous
Обнаружены входные переменные с непостоянным количеством выборок: [4, 1000]
Вот код для предварительной обработки данных и обучения модели. Здесь не приведены некоторые функции, необходимые для модели.
импортировать argparse импортировать ОС время импорта импортировать панд как pd импортировать numpy как np импортировать тензорный поток как tf из sklearn.model_selection импорт train_test_split tf.compat.v1.enable_eager_execution() # Считаем файл CSV в DataFrame my_df = pd.read_csv('данные/массив.csv') tf.compat.v1.enable_eager_execution() # Удалите столбец с заголовком «Геометрия» my_df = my_df.drop(columns="Геометрия") # Сохраняем измененный DataFrame в новый файл CSV. my_df.to_csv('tf_converted_dataset.csv', index=False, header=False) # Определить типы данных для преобразования TensorFlow data_types = [tf.int32 if str(dtype) != 'float64' else tf.float64 для dtype в my_df.dtypes] # Загрузите файл CSV как набор данных TensorFlow CsvDataset. csvData = tf.data.experimental.CsvDataset('tf_converted_dataset.csv', data_types, заголовок = False) # Получаем имена столбцов col_names = список (my_df) имена_столбцов_ = имена_столбцов[:4] + имена_столбцов[4:1005] # Определим функцию parse_csv_row защита parse_csv_row(*vals): Feature_vals = значения[:4] функции = dict(zip(col_names_[:4], Feature_vals)) target_tensor = tf.convert_to_tensor(vals[4:1004]) возвращаемые функции, Target_tensor # Сопоставьте функцию синтаксического анализа с набором данных и группируйте данные набор данных = csvData.map(parse_csv_row).batch(1000) # Распечатываем пример пакета из набора данных для пакета в dataset.take(1): функции, target_tensor = пакетный печать (пакетная) Защиту get_data (функции, Target_tensor, проценттест = .2, случайное_состояние = 42): train_x = особенности печать (train_x) поезд_y = целевой_тензор печать (train_y) x_train, test_x, y_train, test_y = train_test_split(train_x, train_y, test_size=percenttest, случайное_состояние=случайное_состояние) x_test, x_val, y_test, y_val = train_test_split(test_x, test_y, test_size=.2, случайное_состояние=случайное_состояние) вернуть x_train, y_train, x_test, y_test, x_val, y_val #После этого запускается модель нейронной сети Набор данных содержит геометрические комбинации (входные характеристики четырех столбцов) и отклики радиолокационного сечения (RCS) в частотной области для каждой геометрической комбинации (от столбца 4 до столбца 1004 с заголовком столбца соответствующей частотной точки). . В результате предварительной обработки я создал входные объекты следующих форм:
- 'la': tf.Tensor: shape=(1000,), dtype=float64, numpy=array - 'lb': tf.Tensor: shape=(1000,), dtype=float64, numpy=array - 'l1': tf.Tensor: shape=(1000,), dtype=float64, numpy=array - 'w': tf.Tensor: shape=(1000,), dtype=float64, numpy=array - tf.Tensor: shape=(1000, 1000), dtype=float64, numpy=array Я создал модель и предварительно обработал данные, но когда я попытался ввести данные в модель, я получил эту ошибку
Traceback (самый последний вызов — последний): Файл «C:\Users\basnaym1\GitHub\deepa_learning_Neural_N\python_based\elc_core_1_nn.py», строка 262, в основной(**кваргс) Файл «C:\Users\basnaym1\GitHub\deepa_learning_Neural_N\python_based\elc_core_1_nn.py», строка 124, в основном файле. train_x, train_y, test_x, test_y, val_x, val_y = get_data (функции, Target_tensor, процентный тест = 0,2, случайное_состояние = 42) Файл «C:\Users\basnaym1\GitHub\deepa_learning_Neural_N\python_based\elc_core_1_nn.py», строка 113, в get_data x_train, test_x, y_train, test_y = train_test_split(train_x, train_y, test_size=percenttest, Файл "C:\Users\basnaym1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\_param_validation.py", строка 214, в оболочке return func(*args, **kwargs) Файл «C:\Users\basnaym1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\model_selection\_split.py», строка 2646, в train_test_split массивы = индексируемые(*массивы) Файл «C:\Users\basnaym1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\validation.py», строка 453, в индексируемом формате check_consistent_length(*результат) Файл «C:\Users\basnaym1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\validation.py», строка 407, в check_consistent_length поднять ValueError( ValueError: Обнаружены входные переменные с противоречивым количеством выборок: [4, 1000] с противоречивым количеством выборок: [4, 1000]
Вот код для предварительной обработки данных и обучения модели. Здесь не приведены некоторые функции, необходимые для модели.
импортировать argparse импортировать ОС время импорта импортировать панд как pd импортировать numpy как np импортировать тензорный поток как tf из sklearn.model_selection импорт train_test_split tf.compat.v1.enable_eager_execution() # Считаем файл CSV в DataFrame my_df = pd.read_csv('данные/массив.csv') tf.compat.v1.enable_eager_execution() # Удалите столбец с заголовком «Геометрия» my_df = my_df.drop(columns="Геометрия") # Сохраняем измененный DataFrame в новый файл CSV. my_df.to_csv('tf_converted_dataset.csv', index=False, header=False) # Определить типы данных для преобразования TensorFlow data_types = [tf.int32 if str(dtype) != 'float64' else tf.float64 для dtype в my_df.dtypes] # Загрузите файл CSV как набор данных TensorFlow CsvDataset. csvData = tf.data.experimental.CsvDataset('tf_converted_dataset.csv', data_types, заголовок = False) # Получаем имена столбцов col_names = список (my_df) имена_столбцов_ = имена_столбцов[:4] + имена_столбцов[4:1005] # Определим функцию parse_csv_row защита parse_csv_row(*vals): Feature_vals = значения[:4] функции = dict(zip(col_names_[:4], Feature_vals)) target_tensor = tf.convert_to_tensor(vals[4:1004]) возвращаемые функции, Target_tensor # Сопоставьте функцию синтаксического анализа с набором данных и группируйте данные набор данных = csvData.map(parse_csv_row).batch(1000) # Распечатываем пример пакета из набора данных для пакета в dataset.take(1): функции, target_tensor = пакетный печать (пакетная) Защиту get_data (функции, Target_tensor, проценттест = .2, случайное_состояние = 42): train_x = особенности печать (train_x) поезд_y = целевой_тензор печать (train_y) x_train, test_x, y_train, test_y = train_test_split(train_x, train_y, test_size=percenttest, случайное_состояние=случайное_состояние) x_test, x_val, y_test, y_val = train_test_split(test_x, test_y, test_size=.2, случайное_состояние=случайное_состояние) вернуть x_train, y_train, x_test, y_test, x_val, y_val #После этого запускается модель нейронной сети Набор данных содержит геометрические комбинации (входные характеристики четырех столбцов) и отклики радиолокационного сечения (RCS) в частотной области для каждой геометрической комбинации (от столбца 4 до столбца 1004 с заголовком столбца соответствующей частотной точки). . В результате предварительной обработки я создал входные объекты следующих форм:
- 'la': tf.Tensor: shape=(1000,), dtype=float64, numpy=array - 'lb': tf.Tensor: shape=(1000,), dtype=float64, numpy=array - 'l1': tf.Tensor: shape=(1000,), dtype=float64, numpy=array - 'w': tf.Tensor: shape=(1000,), dtype=float64, numpy=array - tf.Tensor: shape=(1000, 1000), dtype=float64, numpy=array Я создал модель и предварительно обработал данные, но когда я попытался ввести данные в модель, я получил эту ошибку
Traceback (самый последний вызов — последний): Файл «C:\Users\basnaym1\GitHub\deepa_learning_Neural_N\python_based\elc_core_1_nn.py», строка 262, в основной(**кваргс) Файл «C:\Users\basnaym1\GitHub\deepa_learning_Neural_N\python_based\elc_core_1_nn.py», строка 124, в основном файле. train_x, train_y, test_x, test_y, val_x, val_y = get_data (функции, Target_tensor, процентный тест = 0,2, случайное_состояние = 42) Файл «C:\Users\basnaym1\GitHub\deepa_learning_Neural_N\python_based\elc_core_1_nn.py», строка 113, в get_data x_train, test_x, y_train, test_y = train_test_split(train_x, train_y, test_size=percenttest, Файл "C:\Users\basnaym1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\_param_validation.py", строка 214, в оболочке return func(*args, **kwargs) Файл «C:\Users\basnaym1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\model_selection\_split.py», строка 2646, в train_test_split массивы = индексируемые(*массивы) Файл «C:\Users\basnaym1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\validation.py», строка 453, в индексируемом формате check_consistent_length(*результат) Файл «C:\Users\basnaym1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\validation.py», строка 407, в check_consistent_length поднять ValueError( ValueError: Обнаружены входные переменные с противоречивым количеством выборок: [4, 1000] с противоречивым количеством выборок: [4, 1000]
Мобильная версия