import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
# بارگذاری دادهها
data_dir = 'path_to_data_folder'
train_data = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255).flow_from_directory(data_dir, target_size=(224, 224), batch_size=32)
# تعریف معماری شبکه عصبی
model = Sequential([
Conv2D(16, (3, 3), padding='same', activation='relu', input_shape=(224, 224, 3)),
MaxPooling2D((2, 2)),
Conv2D(32, (3, 3), padding='same', activation='relu'),
MaxPooling2D((2, 2)),
Flatten(),
Dense(10, activation='softmax')
])
# تنظیمات آموزش شبکه
model.compile(optimizer='sgd', loss='categorical_crossentropy', metrics=['accuracy'])
# آموزش شبکه
model.fit(train_data, epochs=10)
# استفاده از شبکه برای بازیابی تصاویر
query_image = tf.keras.preprocessing.image.load_img('path_to_query_image', target_size=(224, 224))
query_image = tf.keras.preprocessing.image.img_to_array(query_image)
query_image = query_image.reshape((1,) + query_image.shape)
predicted_label = model.predict_classes(query_image)
print(predicted_label)