از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
سه سال پیش منتشر شده
تعداد بازدید: 258
کد پروژه: 365119
شرح پروژه
#کد_پروژه: 46176
موضوع: پروژه پیاده سازی cart pole با qlearning/
شهبازی هستم در رابطه با پروژه دانشجویی پیاده سازی cart pole با qlearning
https://medium.com/swlh/using-q-learning-for-openais-cartpole-v1-4a216ef237df
for episode in range(EPISODES + 1): //go through the episodes
t0 = time.time() //set the initial time
discrete_state = get_discrete_state(env.reset()) //get the discrete start for the restarted environment
done = False
episode_reward = 0 //reward starts as 0 for each episode
if episode % 2000 == 0:
print("Episode: " + str(episode))
while not done:
if np.random.random() > epsilon:
action = np.argmax(q_table[discrete_state]) //take cordinated action
else:
action = np.random.randint(0, env.action_space.n) //do a random ation
new_state, reward, done, _ = env.step(action) //step action to get new states, reward, and the "done" status.
episode_reward += reward //add the reward
new_discrete_state = get_discrete_state(new_state)
if episode % 2000 == 0: //render
env.render()
if not done: //update q-table
max_future_q = np.max(q_table[new_discrete_state])
current_q = q_table[discrete_state + (action,)]
new_q = (1 - LEARNING_RATE) * current_q + LEARNING_RATE * (reward + DISCOUNT * max_future_q)
q_table[discrete_state + (action,)] = new_q
discrete_state = new_discrete_state
if epsilon > 0.05: //epsilon modification
if episode_reward > prior_reward and episode > 10000:
epsilon = math.pow(epsilon_decay_value, episode - 10000)
if episode % 500 == 0:
print("Epsilon: " + str(epsilon))
t1 = time.time() //episode has finished
episode_total = t1 - t0 //episode total time
total = total + episode_total
total_reward += episode_reward //episode total reward
prior_reward = episode_reward
if episode % 1000 == 0: //every 1000 episodes print the average time and the average reward
mean = total / 1000
print("Time Average: " + str(mean))
total = 0
mean_reward = total_reward / 1000
print("Mean Reward: " + str(mean_reward))
total_reward = 0
env.close()
این چیزیه مه تو این سایته زده
مهارت ها و تخصص های مورد نیاز
مهلت برای انجام
2روز
وضعیت مناقصه
بسته
درباره کارفرما
عضویت چهار سال پیش
نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟
قادر به انجام این پروژه هستید؟
متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصتهای متعددی در سایت موجود میباشد.
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار