Giter Site home page Giter Site logo

snake-ai's People

Contributors

eltociear avatar linyilyi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

snake-ai's Issues

运行test_cnn.py报错

D:\Downloads\Astudy\setpath\python.exe "D:\Watershed APP\pycharm2021\SetPath\PyCharm 2021.3\plugins\python\helpers\pycharm_jb_pytest_runner.py" --path D:/python-code/snake-newai/snake-ai/main/test_cnn.py
Testing started at 2:11 ...
Launching pytest with arguments D:/python-code/snake-newai/snake-ai/main/test_cnn.py --no-header --no-summary -q in D:\python-code\snake-newai\snake-ai\main

============================= test session starts =============================
collecting ... Using seed = 404264808 for testing.

test_cnn.py:None (test_cnn.py)
test_cnn.py:25: in
model = MaskablePPO.load(MODEL_PATH)
C:\Users\ca'd\AppData\Roaming\Python\Python39\site-packages\stable_baselines3\common\base_class.py:663: in load
data, params, pytorch_variables = load_from_zip_file(
C:\Users\ca'd\AppData\Roaming\Python\Python39\site-packages\stable_baselines3\common\save_util.py:390: in load_from_zip_file
load_path = open_path(load_path, "r", verbose=verbose, suffix="zip")
D:\Downloads\Astudy\setpath\lib\functools.py:888: in wrapper
return dispatch(args[0].class)(*args, **kw)
C:\Users\ca'd\AppData\Roaming\Python\Python39\site-packages\stable_baselines3\common\save_util.py:234: in open_path_str
return open_path(pathlib.Path(path), mode, verbose, suffix)
D:\Downloads\Astudy\setpath\lib\functools.py:888: in wrapper
return dispatch(args[0].class)(*args, **kw)
C:\Users\ca'd\AppData\Roaming\Python\Python39\site-packages\stable_baselines3\common\save_util.py:258: in open_path_pathlib
path = path.open("rb")
D:\Downloads\Astudy\setpath\lib\pathlib.py:1252: in open
return io.open(self, mode, buffering, encoding, errors, newline,
D:\Downloads\Astudy\setpath\lib\pathlib.py:1120: in _opener
return self._accessor.open(self, flags, mode)
E PermissionError: [Errno 13] Permission denied: 'D:\python-code\snake-newai\snake-ai\main\trained_models_cnn\ppo_snake_final'
collected 0 items / 1 error

!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
======================== 2 warnings, 1 error in 3.36s =========================

进程已结束,退出代码2

运行 python test_cnn.py 报错

os: ubuntu 18.04
error:
Using seed = 783742036 for testing.
Traceback (most recent call last):
File "test_cnn.py", line 24, in
env = SnakeEnv(seed=seed, limit_step=False, silent_mode=False)
File "/home/tianhm/snake-ai/main/snake_game_custom_wrapper_cnn.py", line 11, in init
self.game = SnakeGame(seed=seed, board_size=board_size, silent_mode=silent_mode)
File "/home/tianhm/snake-ai/main/snake_game.py", line 30, in init
mixer.init()
pygame.error: dsp: No such audio device

但是 python snake_game.py 可以正常执行。

compress_code.py的一点小问题

image
文件内的提示与文件名不同。
image
编码格式
——————
这个代码思路很好,删减换行可以与gpt对话。我用gpt进行了功能拓展1.以文件上传框形式选中文件进行处理
2.将处理后的文件保存到本地,文件路径为源文件路径,文件名为原文件名_缩短
压缩代码.zip
用pyinstaller打包了,应该会成为我常用的软件

可以test,无法训练,报错

(SnakeAI) E:\snake-ai-master\main>python train_cnn.py
Using cuda device
Wrapping the env in a VecTransposeImage.
Process SpawnProcess-5:
Traceback (most recent call last):
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
self.run()
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 30, in _worker
observation, reward, done, info = env.step(data)
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\site-packages\stable_baselines3\common\monitor.py", line 95, in step
observation, reward, done, info = self.env.step(action)
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\site-packages\gym\core.py", line 289, in step
return self.env.step(action)
File "E:\snake-ai-master\main\snake_game_custom_wrapper_cnn.py", line 47, in step
self.done, info = self.game.step(action) # info = {"snake_size": int, "snake_head_pos": np.array, "prev_snake_head_pos": np.array, "food_pos": np.array, "food_obtained": bool}
File "E:\snake-ai-master\main\snake_game.py", line 96, in step
self.sound_game_over.play()
AttributeError: 'SnakeGame' object has no attribute 'sound_game_over'
Traceback (most recent call last):
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\multiprocessing\connection.py", line 312, in _recv_bytes
nread, err = ov.GetOverlappedResult(True)
BrokenPipeError: [WinError 109] 管道已结束。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "train_cnn.py", line 95, in
main()
File "train_cnn.py", line 82, in main
model.learn(
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\site-packages\sb3_contrib\ppo_mask\ppo_mask.py", line 525, in learn
continue_training = self.collect_rollouts(self.env, callback, self.rollout_buffer, self.n_steps, use_masking)
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\site-packages\sb3_contrib\ppo_mask\ppo_mask.py", line 305, in collect_rollouts
new_obs, rewards, dones, infos = env.step(actions)
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\base_vec_env.py", line 163, in step
return self.step_wait()
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\vec_transpose.py", line 95, in step_wait
observations, rewards, dones, infos = self.venv.step_wait()
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 121, in step_wait
results = [remote.recv() for remote in self.remotes]
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 121, in
results = [remote.recv() for remote in self.remotes]
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\multiprocessing\connection.py", line 250, in recv
buf = self._recv_bytes()
File "C:\Users\KEN2020.conda\envs\SnakeAI\lib\multiprocessing\connection.py", line 321, in _recv_bytes
raise EOFError
EOFError

Testing

I want to test it because there is no point of making something without testing it

訓練問題

開啟train_cnn.py之後,終端顯示下面那兩行之後就不動了,請問這是正常的嗎?
Using cuda device
Wrapping the env in a VecTransposeImage.

sound文件好像没有上传

(pytouch) ➜ snake-ai git:(master) python ./main/snake_game.py
Traceback (most recent call last):
File "./main/snake_game.py", line 251, in
game = SnakeGame(seed=seed, silent_mode=False)
File "./main/snake_game.py", line 31, in init
self.sound_eat = mixer.Sound("sound/eat.wav")

加大训练强度

场景描述

所有修改都针对snake-ai/main/train_cnn.py中CUDA的部分
我想同时多开几个进程训练,于是NUM_ENV被我调成了128,但实际测试中显存占用并无明显增加:
NUM_ENV = 32(图表中的PPO_7)
image
NUM_ENV = 128(图表中的PPO_9)
image
训练速度(步数除以时间)也没有显著提升(见最后的图表)
我又修改了batch_size这个参数,从原来的512改成了 512*8,显存利用有些许提升,训练速度反而慢了

NUM_ENV = 128
batch_size=512*8

(图表中的PPO_10)
image
训练图表:
image

问题

  1. 我对NUM_ENV的理解和配置是否有误?batch_size这个参数是控制什么的?
  2. 如果我想尽可能加快训练,尽量把GPU的性能跑满,那我应该调整哪些参数?

test_cnn.py无法加载模型

test_cnn.py无法加载模型,test_mlp.py可以加载。
运行时卡在"model = MaskablePPO.load(MODEL_PATH)",
如果把"MODEL_PATH = r"trained_models_cnn/ppo_snake_final""
替换为"MODEL_PATH = r"trained_models_mlp/ppo_snake_final""
则可以运行通过。
我想应该是zip文件有问题。

固定随机种子训练

看了林亦视频里固定随机种子中的代码,我加了fix_seed,垃圾显卡训练了22个小时,训练完还是吃不完所有食物,再次比对reset方法,发现里面

//少了
self.non_snake
// 多了
self.food_list

有大佬或者作者补全这块代码吗

运行train_cnn出现多线程错误

第29行 model = MaskablePPO.load(MODEL_PATH)

发生异常: EOFError
[WinError 109] 管道已结束。
BrokenPipeError: [WinError 109] 管道已结束。

During handling of the above exception, another exception occurred:

File "C:\Users\Administrator\Desktop\snake-ai-master\main\train_cnn.py", line 53, in main
env = SubprocVecEnv([make_env(seed=s) for s in seed_set])
File "C:\Users\Administrator\Desktop\snake-ai-master\main\train_cnn.py", line 119, in
main()
EOFError:

安装这个sb3-contrib==1.8.0 一直不成功,尝试下载压缩文件了,没有安装成功。

conda install -c local sb3_contrib-1.8.0.tar.gz
Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  • sb3_contrib-1.8.0.tar.gz

Current channels:

To search for alternate channels that may provide the conda package you're
looking for, navigate to

https://anaconda.org

and use the search bar at the top of the page.

pip install sb3-contrib==1.8.0
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))': /simple/sb3-contrib/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))': /simple/sb3-contrib/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))': /simple/sb3-contrib/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))': /simple/sb3-contrib/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))': /simple/sb3-contrib/
Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/sb3-contrib/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Max retries exceeded with url: /simple/sb3-contrib/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))) - skipping
ERROR: Could not find a version that satisfies the requirement sb3-contrib==1.8.0 (from versions: none)
ERROR: No matching distribution found for sb3-contrib==1.8.0
Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))) - skipping


pip install sb3_contrib-1.8.0.tar.gz
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Processing d:\github\snake-ai\sb3_contrib-1.8.0.tar.gz
Installing build dependencies ... error
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> [10 lines of output]
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))': /simple/setuptools/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))': /simple/setuptools/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))': /simple/setuptools/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))': /simple/setuptools/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))': /simple/setuptools/
Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/setuptools/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Max retries exceeded with url: /simple/setuptools/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))) - skipping
ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none)
ERROR: No matching distribution found for setuptools>=40.8.0
Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))) - skipping
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))) - skipping

以上3个方式,全部安装失败,ChatGPI也没有帮我什么忙,始终安装不成功,请求帮忙。

2023.10.26 test遇到的问题#bug

输入命令:
(pytorch) PS E:\ai projection\snake-ai-master\main> python .\snake_game.py
报错:
Traceback (most recent call last):
File "E:\ai projection\snake-ai-master\main\snake_game.py", line 259, in
game = SnakeGame(seed=seed, silent_mode=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\ai projection\snake-ai-master\main\snake_game.py", line 51, in init
self.reset()
File "E:\ai projection\snake-ai-master\main\snake_game.py", line 60, in reset
self.food = self._generate_food()
^^^^^^^^^^^^^^^^^^^^^
File "E:\ai projection\snake-ai-master\main\snake_game.py", line 140, in _generate_food
food = random.sample(self.non_snake, 1)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\anaconda\envs\pytorch\Lib\random.py", line 439, in sample
raise TypeError("Population must be a sequence. "
TypeError: Population must be a sequence. For dicts or sets, use sorted(d).
需要修改的地方:
image
and
image

測試gpu出錯

錯誤:
C:\Users\AAA\anaconda3\envs\SnakeAI\lib\site-packages\torch\cuda_init_.py:107: UserWarning: CUDA initialization: The NVIDIA driver on your system is too old (found version 9010). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternatively, go to: https://pytorch.org to install a PyTorch version that has been compiled with your version of the CUDA driver. (Triggered internally at C:\cb\pytorch_1000000000000\work\c10\cuda\CUDAFunctions.cpp:109.)
return torch._C._cuda_getDeviceCount() > 0
GPU is not available.
python是3.8版

pip install gym error

(SnakeAI) U:\桌面\snake-ai-master>pip install -r requirements.txt
Collecting gym==0.21.0
  Downloading gym-0.21.0.tar.gz (1.5 MB)
     ---------------------------------------- 1.5/1.5 MB 3.3 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [1 lines of output]
      error in gym setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

(SnakeAI) U:\桌面\snake-ai-master>

各位先進請問一下安裝錯在哪了?

Apple Silicon 部署注意事项

近段时间 Apple silicon 平台的机器学习支持在开源社区的努力下快速发展,而苹果芯片的统一内存架构也让大模型的落地普及有了新的希望,因此本项目也推送了新版代码,增加对 macOS GPU 加速框架 MPS(Metal Performance Shaders)的支持。

不过 Apple silicon 诞生不到三年,其机器学习生态更是刚刚起步,一定存在许多问题。本 issue 用于记录我在本项目以及其它外部项目中遇到的一些问题,也欢迎大家进行补充、友好讨论,分享一些常见问题的解决方案。

  • 本项目中用到的 Anaconda、python 等基础工具已具备对 Apple silicon 的原生支持,但实际开发中出现了某些旧版代码库与 Python 安装工具 pip 的兼容性问题。解决办法已在中文版 README 中列出,需要降级 setuptools 与 pip 至 setuptools==65.5.0,pip==21。
  • 目前 Stable Diffusion web UI 已经提供了对 Apple silicon 的 GPU 加速支持,但除了其官方文档中列出的问题(例如图生文不支持 GPU)之外,我还遇到了 MPS 相关的 BUG,在生成高分辨率图像时,虽然统一内存仍有充裕空间,但 MPS 会提示数组尺寸超过 2**32,该 BUG 尚未解决,导致苹果芯片的超大统一内存暂时无法得到充分利用。

大家在实际开发过程中如果遇到其他问题,也欢迎罗列在本 issue 下,帮助社区进一步了解在 Apple silicon 这个新平台下进行机器学习开发可能遇到的问题,以及可能的解决方案。希望大家能友好讨论,推动机器学习社区进一步朝前走。

运行时发现的bug

============================= test session starts ============================= platform win32 -- Python 3.9.12, pytest-7.1.1, pluggy-1.0.0 -- D:\anaconda\python.exe cachedir: .pytest_cache rootdir: E:\python_project\snake-ai-other\main plugins: anyio-3.5.0 collecting ... test_cnn.py:None (test_cnn.py) test_cnn.py:25: in <module> model = MaskablePPO.load(MODEL_PATH) D:\anaconda\lib\site-packages\stable_baselines3\common\base_class.py:687: in load raise KeyError("The observation_space and action_space were not given, can't verify new environments") E KeyError: "The observation_space and action_space were not given, can't verify new environments" collected 0 items / 1 error
报错点:D:\anaconda\lib\site-packages\stable_baselines3\common\base_class.py:687
断点调试发现 observation_space were not given。这是什么意思,萌新菜鸟求教。

可以运行test,不能运行train

如题,运行test的时候没问题,运行train的时候会有报错,其中绝大多数error都是

AttributeError: 'SnakeEnv' object has no attribute 'seed'

运行环境:
Azure VM size: Standard NC24ads A100 v4
image

image

具体输出如下:

(SnakeAI) \snake-ai-master\main>python train_cnn.py
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-7:
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-5:
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-11:
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-14:
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-16:
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
Traceback (most recent call last):
Traceback (most recent call last):
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-8:
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-3:
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-1:
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-10:
AttributeError: 'SnakeEnv' object has no attribute 'seed'
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-24:
Traceback (most recent call last):
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
Traceback (most recent call last):
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-15:
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
Process SpawnProcess-4:
Process SpawnProcess-18:
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-12:
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-22:
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-17:
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
Traceback (most recent call last):
AttributeError: 'SnakeEnv' object has no attribute 'seed'
Traceback (most recent call last):
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-30:
Process SpawnProcess-21:
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-20:
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-26:
Traceback (most recent call last):
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
Process SpawnProcess-2:
Process SpawnProcess-28:
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
AttributeError: 'SnakeEnv' object has no attribute 'seed'
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
Process SpawnProcess-23:
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-13:
Process SpawnProcess-27:
AttributeError: 'SnakeEnv' object has no attribute 'seed'
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-9:
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
Traceback (most recent call last):
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-31:
Process SpawnProcess-19:
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\connection.py", line 312, in _recv_bytes
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
    nread, err = ov.GetOverlappedResult(True)
BrokenPipeError: [WinError 109] The pipe has been ended

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "train_cnn.py", line 119, in <module>
    main()
  File "train_cnn.py", line 53, in main
    env = SubprocVecEnv([make_env(seed=s) for s in seed_set])
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 119, in __init__
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-6:
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py:311: UserWarning: ←[33mWARN: env.seed to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.seed` for environment variables or `env.get_wrapper_attr('seed')` that will search the reminding wrappers.←[0m
  logger.warn(
Process SpawnProcess-29:
Process SpawnProcess-25:
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
Traceback (most recent call last):
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\stable_baselines3\common\vec_env\subproc_vec_env.py", line 29, in _worker
    env = _patch_env(env_fn_wrapper.var())
  File "train_cnn.py", line 41, in _init
    env.seed(seed)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\site-packages\gymnasium\core.py", line 315, in __getattr__
    return getattr(self.env, name)
AttributeError: 'SnakeEnv' object has no attribute 'seed'
    observation_space, action_space = self.remotes[0].recv()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\connection.py", line 250, in recv
    buf = self._recv_bytes()
  File "C:\ProgramData\anaconda3\envs\SnakeAI\lib\multiprocessing\connection.py", line 321, in _recv_bytes
    raise EOFError
EOFError

训练过程无法收敛

尝试用作者原生的代码,没有做过任何修改,做一次mlp的训练,结果mac和pc上都做了一次,10个小时,都无法收敛

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.