Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import warnings
- warnings.filterwarnings("ignore")
- import os
- os.environ['TF_CPP_MIN_LOG_LEVEL']='3'
- import numpy as np
- import cv2
- import tensorflow as tf
- from tensorflow.keras.models import Sequential
- from tensorflow.keras.applications import InceptionV3
- from tensorflow.keras.layers import Conv2D, Dense, Dropout, MaxPool2D, Flatten, BatchNormalization
- from tensorflow.keras.optimizers import Adam
- from tensorflow.keras.callbacks import TensorBoard, EarlyStopping, ReduceLROnPlateau, Callback
- from tqdm import tqdm as tqdm
- path = 'your_path/'
- data = []
- def load_data(path):
- global data
- print('Loading in Data ....')
- for f in tqdm(os.listdir(path)):
- p = path + f
- file = np.load(p, allow_pickle=True)
- try:
- data = data + file
- except:
- data = file
- load_data(path)
- print('Separating images and labels...')
- x = np.array([np.array(img) for img, label in data]).reshape(-1, 256, 480, 3) / 255
- y = np.array([label for img, label in data])
- print(x.shape)
- print(y[0])
- class model():
- def __init__(self):
- self.model = Sequential()
- self.name = 'version0.1'
- self.epochs = 10
- # Callbacks
- self.tensorboard = TensorBoard()
- self.reducelr = ReduceLROnPlateau(patience=2)
- self.WIDTH = 256
- self.HEIGHT = 480
- self.optimizer = Adam(lr=0.001)
- self.make_model()
- def make_model(self):
- self.model.add(InceptionV3(include_top=False,
- input_shape=(self.WIDTH, self.HEIGHT, 3),
- weights="inception_v3_weights.h5"))
- self.model.add((Dense(32, activation='relu')))
- self.model.add(Dense(7, activation='softmax'))
- self.model.layers[0].trainable = False
- def train(self):
- self.model.compile(optimizer=self.optimizer, loss='categorical_crossentropy', metrics=['accuracy'])
- self.model.fit(x=x, y=y, batch_size=64,
- validation_split=0.15, shuffle=True, epochs=self.epochs,
- callbacks=[self.tensorboard, self.saver, self.reducelr],)
- conv_model1 = model()
- conv_model1.train()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement