强化学习笔记(3)--TF==2.8 keras==2.8 tf-agents==0.12.0 环境下官网教程勘误

ERROR CONTENTS

  • 引入kersa库方法错误
  • 使用tf_py_environment.TFPyEnvironment转换python环境为tf环境时报错
  • 引入tf.keras.optimizer的问题

引入kersa库方法错误

官网上引入方法

from tensorflow import keras
from tensorflow.keras import layers

不会报错,但是vscode上的代码会给报出黄色波浪线找不到
vscode报错提示为:Import “tensorflow.keras” can’t be resolved

解决办法:
在笔者运行的时候是不会出现任何报错的,而且也和官网上说的教程结果是一样的。问题应该是处在vscode中的Pylance上。如果想彻底解决问题的话,请使用下面的两条对上面进行替代

import tensorflow.python.keras as keras
from tensorflow.python.keras import layers

{注}: 这里有一个坑, 如果在系统中下载了keras的话在pip list中是可以找到一个keras的库的, 而且还可以直接import keras引用,但是这个keras库和tf.keras是不一样的,比如说你使用 keras.losses.MeanSquaredError就会报错,而使用tf.keras.losses.MeanSquaredError是不会报错的

使用tf_py_environment.TFPyEnvironment转换python环境为tf环境时报错

报错代码为:

env_name = 'CartPole-v0'
env = suite_gym.load(env_name)
train_py_env = suite_gym.load(env_name)
train_env = tf_py_environment.TFPyEnvironment(train_py_env) # 错误在此

报错为:

Exception ignored in: 
Traceback (most recent call last):
  File "/usr/lib/python3.8/multiprocessing/pool.py", line 268, in __del__
  File "/usr/lib/python3.8/multiprocessing/queues.py", line 362, in put
AttributeError: 'NoneType' object has no attribute 'dumps'

解决办法:原因tf-agent下载版本错误,最初下载的tf-agent是用

pip install tf-agents

要解决这个问题必须先卸载原来的版本使用下面的指令重新下载一遍

pip install tf-agents[reverb]

引入tf.keras.optimizer的问题

和第一个问题一样,当我在设法引入Adam优化器的时候官方给出的代码中没有代码自动补全,而且编辑器会报错。根据文档的引用方法应该是

from tensorflow.keras import optimizers
opt=optimizers.Adam(learning_rate=0.1)

问题解决:

from tensorflow.python.keras import optimizer_v1
opt=optimizer_v1.Adam(lr=0.1)

注意这些optimizer的参数需要自己在官网API说明中一个一个找

(待续)

你可能感兴趣的:(笔记,人工智能,python)