import pickle
import os
from tf_keras.models import Sequential
from tf_keras.layers import Conv2D, MaxPooling2D, Activation, Flatten, Dense
from keras_tuner.tuners import RandomSearch
from keras_tuner.engine.hyperparameters import HyperParameters
# Load data
X = []
y = []
DIRECTORY = 'data'
LOG_DIR = 'log'
for i in range(16): # Edit number based on how many chunks you have
with open(os.path.join(DIRECTORY, f'X_chunk_{i}.pickle'), 'rb') as f:
X_chunk = pickle.load(f)
with open(os.path.join(DIRECTORY, f'y_chunk_{i}.pickle'), 'rb') as f:
y_chunk = pickle.load(f)
X.extend(X_chunk)
y.extend(y_chunk)
X = np.array(X, dtype=np.float32)
y = np.array(y, dtype=np.float32).flatten()
X = X.reshape(-1, 256, 256, 1)
print(len(X))
# Define the model creation function
def create_model(hp):
model = Sequential()
model.add(Conv2D(
hp.Int(name='input_units', min_value=32, max_value=256, step=32),
(3, 3),
input_shape=(256, 256, 1)
))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
for i in range(hp.Int(name='n_layers', min_value=1, max_value=4)): # Adding variation of layers
model.add(Conv2D(
hp.Int(name=f'conv_{i}_units', min_value=32, max_value=256, step=32),
(3, 3)
))
model.add(Activation('relu'))
model.add(Flatten())
model.add(Dense(1)) # Change the number of units to 1
model.add(Activation("sigmoid")) # Sigmoid for binary classification
model.compile(
optimizer="adam",
loss="binary_crossentropy", # This is correct for binary classification
metrics=["accuracy"]
)
return model
# Define the tuner
tuner = RandomSearch(
create_model, # Pass the function itself here
objective='val_accuracy',
max_trials=1, # Number of model variations to test
executions_per_trial=1,
directory=LOG_DIR
)
tuner.search_space_summary()
# Search for the best hyperparameters
tuner.search(
x=X,
y=y,
epochs=1,
batch_size=64,
validation_split=0.15
)
# Summarize results
tuner.results_summary()
Сообщение об ошибке:
ValueError: Целевые и выходные данные аргументов должны иметь того же ранга (ндим). Получено: target.shape=(None,), output.shape=(None, 64)
Кажется, я не понимаю, почему он дает мне такое сообщение.
Мои спутниковые снимки и я пытаюсь определить, повреждены они или нет в результате урагана.
Я просто предварительно обрабатываю данные и разделяю их на фрагменты, чтобы иметь возможность мариновать их
[code]import pickle import os from tf_keras.models import Sequential from tf_keras.layers import Conv2D, MaxPooling2D, Activation, Flatten, Dense from keras_tuner.tuners import RandomSearch from keras_tuner.engine.hyperparameters import HyperParameters
# Load data X = [] y = [] DIRECTORY = 'data' LOG_DIR = 'log'
for i in range(16): # Edit number based on how many chunks you have with open(os.path.join(DIRECTORY, f'X_chunk_{i}.pickle'), 'rb') as f: X_chunk = pickle.load(f) with open(os.path.join(DIRECTORY, f'y_chunk_{i}.pickle'), 'rb') as f: y_chunk = pickle.load(f)
X.extend(X_chunk) y.extend(y_chunk)
X = np.array(X, dtype=np.float32) y = np.array(y, dtype=np.float32).flatten()
X = X.reshape(-1, 256, 256, 1)
print(len(X))
# Define the model creation function def create_model(hp): model = Sequential()
for i in range(hp.Int(name='n_layers', min_value=1, max_value=4)): # Adding variation of layers model.add(Conv2D( hp.Int(name=f'conv_{i}_units', min_value=32, max_value=256, step=32), (3, 3) )) model.add(Activation('relu'))
model.add(Flatten()) model.add(Dense(1)) # Change the number of units to 1 model.add(Activation("sigmoid")) # Sigmoid for binary classification
model.compile( optimizer="adam", loss="binary_crossentropy", # This is correct for binary classification metrics=["accuracy"] )
return model
# Define the tuner tuner = RandomSearch( create_model, # Pass the function itself here objective='val_accuracy', max_trials=1, # Number of model variations to test executions_per_trial=1, directory=LOG_DIR )
tuner.search_space_summary()
# Search for the best hyperparameters tuner.search( x=X, y=y, epochs=1, batch_size=64, validation_split=0.15 )
Сообщение об ошибке: ValueError: Целевые и выходные данные аргументов должны иметь того же ранга (ндим). Получено: target.shape=(None,), output.shape=(None, 64)
Кажется, я не понимаю, почему он дает мне такое сообщение. Мои спутниковые снимки и я пытаюсь определить, повреждены они или нет в результате урагана. Я просто предварительно обрабатываю данные и разделяю их на фрагменты, чтобы иметь возможность мариновать их
Я пытался создать нейронную сеть, которая может идентифицировать изображения, но когда я иду и пытаюсь подготовить свою модель, я получаю следующую ошибку:
ValueError Traceback (most recent call last)
in ()
1 # Train the model
----> 2 history =...
Я видел существующий вопрос, но ни один из них мне не помог.
У меня проблема, описанная в заголовке, дополнительная информация ниже:
Я могу прочитать ошибку, но, к сожалению, не смогла найдите источник проблемы...
вот моя модель:
X, Y_segmentation,...
Я работаю с моделью тензорного потока с несколькими выходами, просто в целях обучения, которая должна выводить 1 числовой и 1 категориальный данные (6 классов).
Кажется, все в порядке, ну -определено, но когда я подхожу к модели, появляется ошибка:...
Недавно я тестировал код («main.py») для классификации изображений с использованием модели CNN (независимо от того, является ли изображение кошкой или собакой), и постоянно получаю следующую ошибку:
File...