1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RasPythoncarにtensorflow(DQN)をインストールする方法

Last updated at Posted at 2020-03-02

自分用メモ
RasPythoncarにtensorflowをインストールする方法

パスワード変更

$ sudo passwd pi

SDカードの容量変更(使用SDカードが16GB以上の時)

$ sudo apt-get install gparted
$ sudo gparted
$ df -h 

OSのカーネルバージョンアップ

$ sudo rpi-update
$ sudo reboot
$ sudo apt update
$ sudo apt dist-upgrade -y
$ sudo apt-get autoremove -y
$ sudo apt-get autoclean
$ sudo reboot

現在の自分のOSのコードネームやバージョン

$ lsb_release -a

tensorflowインストール

$ sudo apt install libatlas-base-dev
$ sudo pip3 install tensorflow

tensorflowのインストールが終わったら、DQNライブラリをインストール
参考サイトは以下のサイトを参考にしました。

超シンプルにTensorFlowでDQN (Deep Q Network) を実装してみる 〜導入編〜
Tensorflow Deep Q-Network

以下環境構築

$ git clone https://github.com/algolab-inc/tf-dqn-simple.git
$ sudo pip3 install matplotlib

以上

RasPythonカー IDE に反映

GITからダウンロードしたファイル一式をUSBメモリなどに保存して、
「RasPythonカー IDE 」のサンプルプログラムが入っている場所にコピペする。

実行テスト動画 YouTube

サンプルソースでは学習した結果を表示できないので、
以下のプログラムで実行する。

RasPython_dqn_play.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-

# Created: 2020/03/09 Mon  1:37

from wr_lib2wd import WR2WD
import time

from catch_ball import CatchBall
from dqn_agent import DQNAgent

wr = WR2WD()

print("スタート")
# environmet, agent
env = CatchBall()
agent = DQNAgent(env.enable_actions, env.name)
agent.load_model()

# variables
win, lose = 0, 0
state_t_1, reward_t, terminal = env.observe()

print(state_t_1)

while not terminal:
    state_t = state_t_1

    # execute action in environment
    action_t = agent.select_action(state_t, 0.0)
    """
    action_t:
    0: do nothing
    1: move left
    2: move right
    """
    if action_t == 1:
        wr.mc.front()
        print("前進")
    elif action_t == 2:
        wr.mc.back()
        print("後退")
    time.sleep(1)
    wr.mc.brake()
    time.sleep(1)
    env.execute_action(action_t)

    # observe environment
    state_t_1, reward_t, terminal = env.observe()
    print("----------------------")
    print(state_t_1)
    
if reward_t == 1:
	print("キャッチ")
elif reward_t == -1:
	print("ミス")
print("エンド")
1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?