资源简介
使用强化学习进行赛车的自动驾驶功能实现,具体使用DDPG算法
代码片段和文件信息
import numpy as np
import math
from keras.initializations import normal identity
from keras.models import model_from_json
from keras.models import Sequential Model
from keras.engine.training import collect_trainable_weights
from keras.layers import Dense Flatten Input merge Lambda
from keras.optimizers import Adam
import tensorflow as tf
import keras.backend as K
HIDDEN1_UNITS = 300
HIDDEN2_UNITS = 600
class ActorNetwork(object):
def __init__(self sess state_size action_size BATCH_SIZE TAU LEARNING_RATE):
self.sess = sess
self.BATCH_SIZE = BATCH_SIZE
self.TAU = TAU
self.LEARNING_RATE = LEARNING_RATE
K.set_session(sess)
#Now create the model
self.model self.weights self.state = self.create_actor_network(state_size action_size)
self.target_model self.target_weights self.target_state = self.create_actor_network(state_size action_size)
self.action_gradient = tf.placeholder(tf.float32[None action_size])
self.params_grad = tf.gradients(self.model.output self.weights -self.action_gradient)
grads = zip(self.params_grad self.weights)
self.optimize = tf.train.AdamOptimizer(LEARNING_RATE).apply_gradients(grads)
self.sess.run(tf.initialize_all_variables())
def train(self states action_grads):
self.sess.run(self.optimize feed_dict={
self.state: states
self.action_gradient: action_grads
})
def target_train(self):
actor_weights = self.model.get_weights()
actor_target_weights = self.target_model.get_weights()
for i in xrange(len(actor_weights)):
actor_target_weights[i] = self.TAU * actor_weights[i] + (1 - self.TAU)* actor_target_weights[i]
self.target_model.set_weights(actor_target_weights)
def create_actor_network(self state_sizeaction_dim):
print(“Now we build the model“)
S = Input(shape=[state_size])
h0 = Dense(HIDDEN1_UNITS activation=‘relu‘)(S)
h1 = Dense(HIDDEN2_UNITS activation=‘relu‘)(h0)
Steering = Dense(1activation=‘tanh‘init=lambda shape name: normal(shape scale=1e-4 name=name))(h1)
Acceleration = Dense(1activation=‘sigmoid‘init=lambda shape name: normal(shape scale=1e-4 name=name))(h1)
Brake = Dense(1activation=‘sigmoid‘init=lambda shape name: normal(shape scale=1e-4 name=name))(h1)
V = merge([SteeringAccelerationBrake]mode=‘concat‘)
model = Model(input=Soutput=V)
return model model.trainable_weights S
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-10-11 14:25 DDPG-Keras-Torcs-master\
文件 2606 2016-10-11 14:25 DDPG-Keras-Torcs-master\ActorNetwork.py
文件 2438 2016-10-11 14:25 DDPG-Keras-Torcs-master\CriticNetwork.py
文件 159 2016-10-11 14:25 DDPG-Keras-Torcs-master\OU.py
文件 614 2016-10-11 14:25 DDPG-Keras-Torcs-master\README.md
文件 1119 2016-10-11 14:25 DDPG-Keras-Torcs-master\ReplayBuffer.py
文件 779336 2016-10-11 14:25 DDPG-Keras-Torcs-master\actormodel.h5
文件 2682 2016-10-11 14:25 DDPG-Keras-Torcs-master\actormodel.json
文件 206 2016-10-11 14:25 DDPG-Keras-Torcs-master\autostart.sh
文件 2232192 2016-10-11 14:25 DDPG-Keras-Torcs-master\criticmodel.h5
文件 2916 2016-10-11 14:25 DDPG-Keras-Torcs-master\criticmodel.json
文件 5962 2016-10-11 14:25 DDPG-Keras-Torcs-master\ddpg.py
文件 12208354 2016-10-11 14:25 DDPG-Keras-Torcs-master\fast.gif
文件 11140 2016-10-11 14:25 DDPG-Keras-Torcs-master\gym_torcs.py
文件 23823 2016-10-11 14:25 DDPG-Keras-Torcs-master\snakeoil3_gym.py
相关资源
- ActivePerl-5.8.6.811
-
基于minibl
ink封装的WebBrowser控件CXM - DaVinci-Resolve-15-Fairlight-Audio-Post《DaVi
- Power World Simulator 电气工程 潮流计算
- A first course in stochastic processes (2ed.
- 编译好的worldwind1.4.0源码
- 2-2矩阵分析(原书第2版)2014-09 霍恩
- 2-1矩阵分析(原书第2版)2014-09 霍恩
- charles破解版 windows
- 自己实践验证编写的powerlogic转orcad详
-
powerli
nk在stm32上面的实现 - Arlequin 3.5.1.3 绿色版_人口遗传学分析
- Erlang程序设计第2版.pdf
- Programming+the+World+Wide+Web
- perl语言学习书籍大全
- x64 windows libcurlopensslzlib编译好,VS直接
- Erlang游戏程序学习完整PDF手册
- Causality - Models Reasoning and Inference (
- 常见人脸识别数据库AR、ORL、Yale、Y
- Ruisa——RL78各种例程
- hyperledgerFabric-1.4的bin和config
- Delphi 10.1 Berlin DataSnap 开发手册 李维
- QtXlsxWriter和ActivePerl
- Causality - Judea Pearl
- EandM_DancerLE.
- Real-WorldMachineLearning.pdf
- KUKA编程资料
- silverlight绘图(课件+DEMO)
- RL78G13中文版技术资料.pdf
- curl+openssl开发库VS2017x64
评论
共有 条评论