質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

受付中

cloud9 でのpython3でのエラー

tasm
tasm

総合スコア0

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0回答

0評価

0クリップ

1487閲覧

投稿2017/06/03 09:15

cloud9でjupyter notebookを起動しそこで発生したエラーの内容が分かりません。

python

%matplotlib inline import gym import random from gym import envs from gym import wrappers import numpy as np import keras from keras\.models import Sequential from keras\.layers import Dense ENV_NAME = 'CartPole-v0' # Gymの環境名 NUM_EPISODES = 12000 # プレイするエピソード数 NUM_ACTIONS = 2 NUM_STATES = 4 NUM_GAMES_TRAIN = 500 BATCH_SIZE = 20 MAX_REPLAY_STATES = 100 JUMP_FPS = 2 RENDER = True SAVE_NETWORK_PATH = 'saved_networks/' \+ ENV_NAME SAVE_SUMMARY_PATH = 'summary/' \+ ENV_NAME def create_model\(n_inputs, n_outputs\): model = Sequential\(\) model\.add\(Dense\(8, activation='relu', input_dim=n_inputs\)\) model\.add\(Dense\(16, activation='relu'\)\) model\.add\(Dense\(n_outputs, activation='linear'\)\) model\.summary\(\) model\.compile\('adam', loss = 'mse'\) return model def main\(\): env = gym\.make\(ENV_NAME\) # training結果を出力 # env = gym\.wrappers\.Monitor\(env, 'training'\) # env\.observation_space #Boxが返ってくるから \.shapeでタプルを取得 in_dim = env\.observation_space\.shape\[0\] # env\.action_space #Discreteが返ってくる 取れないから数字を見る print\(env\.action_space\) out_dim = 2 #stepが返してくるStateの数と、取りうる入力の数を使う model = create_model\(in_dim, out_dim\) # env = wrappers\.Monitor\(env, '\./cartpole-experiment-1'\) replay = \[\] #リプレイメモリ gamma = 0\.99 #割引率 epsilon = 1 #ランダム行動を行う確率 for i_episode in range\(NUM_GAMES_TRAIN\): new_state = env\.reset\(\) done = False t = 0 total_reward = 0 total_loss = 0 while not done: if RENDER: env\.render\(\) #actionを決定 - epsilonはエピソードごとに減少 #初期状態ではネットワークの初期化時のランダム性に影響を受けやすいから徐々に減らす? if random\.random\(\) < epsilon: action = env\.action_space\.sample\(\) else: #累積報酬の期待値をそれぞれのactionについて予測 q = model\.predict\(new_state\.reshape\(1, NUM_STATES\)\)\[0\] action = np\.argmax\(q\) old_state = new_state new_state, reward, done, info = env\.step\(action\) #actionを実行 #リプレイメモリに保存 replay\.append\(\[old_state, action, reward, new_state, done\]\) #リプレイメモリからランダムに取り除く - 多分メモリ節約 if len\(replay\) > MAX_REPLAY_STATES: replay\.pop\(np\.random\.randint\(MAX_REPLAY_STATES\) \+ 1\) #フレームをスキップする if JUMP_FPS != 1 and \(t % JUMP_FPS\) != 0: # We skip this train, but already add data t = t\+1 continue #リプレイメモリからミニバッチを作成 batch_len = min\(len\(replay\), BATCH_SIZE\) mini_batch = random\.sample\(replay, batch_len\) #学習用の入力と教師データの配列 X_train = np\.zeros\(\(batch_len, NUM_STATES\)\) #指定は次元数 Y_train = np\.zeros\(\(batch_len, NUM_ACTIONS\)\) for i in range\(batch_len\): old_state_rep, action_rep, reward_rep, new_state_rep, done_rep, = mini_batch\[i\] X_train\[i\] = old_state_rep #学習データ #教師データの作成 old_q = model\.predict\(old_state_rep\.reshape\(1, NUM_STATES\)\)\[0\] new_q = model\.predict\(new_state_rep\.reshape\(1, NUM_STATES\)\)\[0\] if done_rep: #終了したということは取った行動が間違いだったということなので -1 にしてる? old_q\[action_rep\] = -1 else: #終了しなかったときは、現在の報酬と将来取りうる最大累積報酬 old_q\[action_rep\] = reward_rep \+ gamma \* np\.max\(new_q\) Y_train\[i\] = old_q #教師データ loss = model\.train_on_batch\(X_train, Y_train\) t = t\+1 total_reward \+= reward total_loss \+= loss; if done: print\("Episode={}, time={}, reward={}, epsilon={:\.4f}, loss={}"\\ \.format\(i_episode, t, total_reward, epsilon, total_loss/t\)\) if epsilon >= 0\.1: epsilon -= \(1 / \(NUM_GAMES_TRAIN\)\) if __name__ == '__main__': main\(\)

エラー内容

OSError Traceback \(most recent call last\) <ipython-input-1-865a9e3dbb3e> in <module>\(\) 127 128 if __name__ == '__main__': --> 129 main\(\) <ipython-input-1-865a9e3dbb3e> in main\(\) 64 while not done: 65 if RENDER: ---> 66 env\.render\(\) 67 68 #actionを決定 - epsilonはエピソードごとに減少 /usr/local/lib/python3\.4/dist-packages/gym/core\.py in render\(self, mode, close\) 151 elif mode not in modes: 152 raise error\.UnsupportedMode\('Unsupported rendering mode: {}\. \(Supported modes for {}: {}\)'\.format\(mode, self, modes\)\) --> 153 return self\._render\(mode=mode, close=close\) 154 155 def close\(self\): /usr/local/lib/python3\.4/dist-packages/gym/core\.py in _render\(self, mode, close\) 283 284 def _render\(self, mode='human', close=False\): --> 285 return self\.env\.render\(mode, close\) 286 287 def _close\(self\): /usr/local/lib/python3\.4/dist-packages/gym/core\.py in render\(self, mode, close\) 151 elif mode not in modes: 152 raise error\.UnsupportedMode\('Unsupported rendering mode: {}\. \(Supported modes for {}: {}\)'\.format\(mode, self, modes\)\) --> 153 return self\._render\(mode=mode, close=close\) 154 155 def close\(self\): /usr/local/lib/python3\.4/dist-packages/gym/envs/classic_control/cartpole\.py in _render\(self, mode, close\) 112 113 if self\.viewer is None: --> 114 from gym\.envs\.classic_control import rendering 115 self\.viewer = rendering\.Viewer\(screen_width, screen_height\) 116 l,r,t,b = -cartwidth/2, cartwidth/2, cartheight/2, -cartheight/2 /usr/local/lib/python3\.4/dist-packages/gym/envs/classic_control/rendering\.py in <module>\(\) 21 22 try: ---> 23 from pyglet\.gl import \* 24 except ImportError as e: 25 reraise\(prefix="Error occured while running `from pyglet\.gl import \*`",suffix="HINT: make sure you have OpenGL install\. On Ubuntu, you can run 'apt-get install python-opengl'\. If you're running on a server, you may need a virtual frame buffer; something like this should work: 'xvfb-run -s \\"-screen 0 1400x900x24\\" python <your_script\.py>'"\) /usr/local/lib/python3\.4/dist-packages/pyglet/gl/__init__\.py in <module>\(\) 95 __version__ = '\$Id\$' 96 ---> 97 from pyglet\.gl\.lib import GLException 98 from pyglet\.gl\.gl import \* 99 from pyglet\.gl\.glu import \* /usr/local/lib/python3\.4/dist-packages/pyglet/gl/lib\.py in <module>\(\) 140 from pyglet\.gl\.lib_agl import link_GL, link_GLU, link_AGL 141 else: --> 142 from pyglet\.gl\.lib_glx import link_GL, link_GLU, link_GLX 143 /usr/local/lib/python3\.4/dist-packages/pyglet/gl/lib_glx\.py in <module>\(\) 48 __all__ = \['link_GL', 'link_GLU', 'link_GLX'\] 49 ---> 50 gl_lib = pyglet\.lib\.load_library\('GL'\) 51 glu_lib = pyglet\.lib\.load_library\('GLU'\) 52 /usr/local/lib/python3\.4/dist-packages/pyglet/lib\.py in load_library\(self, \*names, \*\*kwargs\) 133 for name in platform_names: 134 try: --> 135 lib = ctypes\.cdll\.LoadLibrary\(name\) 136 if _debug_lib: 137 print\(name\) /usr/lib/python3\.4/ctypes/__init__\.py in LoadLibrary\(self, name\) 427 428 def LoadLibrary\(self, name\): --> 429 return self\._dlltype\(name\) 430 431 cdll = LibraryLoader\(CDLL\) /usr/lib/python3\.4/ctypes/__init__\.py in __init__\(self, name, mode, handle, use_errno, use_last_error\) 349 350 if handle is None: --> 351 self\._handle = _dlopen\(self\._name, mode\) 352 else: 353 self\._handle = handle OSError: dlopen: cannot load any more object with static TLS

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。