bokidigital / CNN_DQN_5x5_Gomoku

CNN deep q network 5x5, 4 to win, gomoku
1 stars 1 forks source link

ValueError: None values not supported. #1

Open xgalois opened 4 years ago

xgalois commented 4 years ago

When I run "5x5_osc_33cnn_his_20players.py", it occured a problem as following:

...

Traceback (most recent call last):
  File "d:\Desktop\DQN可行\CNN_DQN_5x5_Gomoku-master\5x5_osc_33cnn_his_20layers.py", line 504, in <module>
    Agent_Black.replay(BLACK_batch_size)
  File "d:\Desktop\DQN可行\CNN_DQN_5x5_Gomoku-master\5x5_osc_33cnn_his_20layers.py", line 327, in replay
    self.model.fit(_CNN_all_state, _target_f_all, batch_size=128, shuffle=False, epochs=1, verbose=0)
  File "D:\DevelopTools\Anaconda3\envs\tf1_gpu\lib\site-packages\keras\engine\training.py", line 1213, in fit
    self._make_train_function()
  File "D:\DevelopTools\Anaconda3\envs\tf1_gpu\lib\site-packages\keras\engine\training.py", line 316, in _make_train_function
    loss=self.total_loss)
  File "D:\DevelopTools\Anaconda3\envs\tf1_gpu\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper
    return func(*args, **kwargs)
  File "D:\DevelopTools\Anaconda3\envs\tf1_gpu\lib\site-packages\keras\optimizers.py", line 276, in get_updates
    new_p = p - lr * g / (K.sqrt(new_a) + self.epsilon)
  File "D:\DevelopTools\Anaconda3\envs\tf1_gpu\lib\site-packages\tensorflow\python\ops\math_ops.py", line 888, in binary_op_wrapper
    y, dtype_hint=x.dtype.base_dtype, name="y")
  File "D:\DevelopTools\Anaconda3\envs\tf1_gpu\lib\site-packages\tensorflow\python\framework\ops.py", line 1145, in convert_to_tensor_v2
    as_ref=False)
  File "D:\DevelopTools\Anaconda3\envs\tf1_gpu\lib\site-packages\tensorflow\python\framework\ops.py", line 1224, in internal_convert_to_tensor
    ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
  File "D:\DevelopTools\Anaconda3\envs\tf1_gpu\lib\site-packages\tensorflow\python\framework\constant_op.py", line 305, in _constant_tensor_conversion_function
    return constant(v, dtype=dtype, name=name)
  File "D:\DevelopTools\Anaconda3\envs\tf1_gpu\lib\site-packages\tensorflow\python\framework\constant_op.py", line 246, in constant
    allow_broadcast=True)
  File "D:\DevelopTools\Anaconda3\envs\tf1_gpu\lib\site-packages\tensorflow\python\framework\constant_op.py", line 284, in _constant_impl
    allow_broadcast=allow_broadcast))
  File "D:\DevelopTools\Anaconda3\envs\tf1_gpu\lib\site-packages\tensorflow\python\framework\tensor_util.py", line 454, in make_tensor_proto
    raise ValueError("None values not supported.")
ValueError: None values not supported.

I had searched for the reason but no answer.What should I do?

xgalois commented 4 years ago

I got it. model.compile(loss='mse',optimizer=keras.optimizers.RMSprop(lr=gLEARNNING_RATE,rho=0.9, epsilon=None, decay=0.0))

here, epsilon=None is the key point.
change it to a concrete number, such as epsilon=0.99.
I dont know how to choose a proper number for the parameter 'epsilon', I am trying.