28.04.2020 Views

Sách Deep Learning cơ bản

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

10.3 Python code 141

import pandas as pd

import numpy as np

import os

import matplotlib.pyplot as plt

from sklearn.model_selection import train_test_split

from keras.models import Sequential

from keras.optimizers import Adam

from keras.callbacks import ModelCheckpoint

from keras.layers import Lambda, Conv2D, Dropout, Dense, Flatten

from keras.regularizers import l2

from utils import INPUT_SHAPE, batch_generator

# Thư mục để dữ liệu

data_dir = 'dataset'

# Đọc file driving_log.csv với các cột tương ứng

data_df = pd.read_csv(os.path.join(os.getcwd(), data_dir, 'driving_log.csv'), \

names=['center', 'left', 'right', 'steering', 'throttle', 'reverse', 'speed'])

# Lấy đường dẫn đến ảnh ở camera giữa, trái, phải

X = data_df[['center', 'left', 'right']].values

# Lấy góc lái của ô tô

y = data_df['steering'].values

# Vẽ histogram dữ liệu

plt.hist(y)

# Loại bỏ và chỉ lấy 1000 dữ liệu có góc lái ở 0

pos_zero = np.array(np.where(y==0)).reshape(-1, 1)

pos_none_zero = np.array(np.where(y!=0)).reshape(-1, 1)

np.random.shuffle(pos_zero)

pos_zero = pos_zero[:1000]

pos_combined = np.vstack((pos_zero, pos_none_zero))

pos_combined = list(pos_combined)

y = y[pos_combined].reshape(len(pos_combined))

X = X[pos_combined, :].reshape((len(pos_combined), 3))

# After process

plt.hist(y)

# Chia ra traing set và validation set

X_train, X_valid, y_train, y_valid = train_test_split(X, y, test_size=0.2, \

random_state=0)

# Xây dựng model

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!