Numpy 使用权重和偏差时无法导入模块';清扫

Numpy 使用权重和偏差时无法导入模块';清扫,numpy,keras,modulenotfounderror,Numpy,Keras,Modulenotfounderror,我正试图通过使用库(wandb)优化keras神经网络超参数来改进它们 以下是我的配置: method: bayes metric: goal: maximize name: Search elo parameters: batch_number: distribution: int_uniform max: 100 min: 1 batch_size: distribution: int_uniform max: 1024 min

我正试图通过使用库(wandb)优化keras神经网络超参数来改进它们

以下是我的配置:

method: bayes
metric:
  goal: maximize
  name: Search elo
parameters:
  batch_number:
    distribution: int_uniform
    max: 100
    min: 1
  batch_size:
    distribution: int_uniform
    max: 1024
    min: 1
  epochs:
    distribution: int_uniform
    max: 10
    min: 1
  neural_net_blocks:
    distribution: int_uniform
    max: 5
    min: 1
  num_simulations:
    distribution: int_uniform
    max: 800
    min: 1
  pb_c_base:
    distribution: int_uniform
    max: 25000
    min: 15000
  pb_c_init:
    distribution: uniform
    max: 3
    min: 1
  root_dirichlet_alpha:
    distribution: uniform
    max: 4
    min: 0
  root_exploration_fraction:
    distribution: uniform
    max: 1
    min: 0
program: ../Main.py
但是,当我运行
wandb代理arkleseisure/projectname/sweepcode
时,我会遇到这个错误,每次启动扫描时都会重复出现

2020-09-13 12:15:02,188 - wandb.wandb_agent - INFO - Running runs: ['klawqpqv']
2020-09-13 12:15:02,189 - wandb.wandb_agent - INFO - Cleaning up finished run: klawqpqv
2020-09-13 12:15:03,063 - wandb.wandb_agent - INFO - Agent received command: run
2020-09-13 12:15:03,063 - wandb.wandb_agent - INFO - Agent starting run with config:
        batch_number: 75
        batch_size: 380
        epochs: 10
        neural_net_blocks: 4
        num_simulations: 301
        pb_c_base: 17138
        pb_c_init: 1.5509741790555416
        root_dirichlet_alpha: 2.7032316257955133
        root_exploration_fraction: 0.5768106739703028
2020-09-13 12:15:03,245 - wandb.wandb_agent - INFO - About to run command: python ../Main.py --batch_number=75 --batch_size=380 --epochs=10 --neural_net_blocks=4 --num_simulations=301 --p
b_c_base=17138 --pb_c_init=1.5509741790555416 --root_dirichlet_alpha=2.7032316257955133 --root_exploration_fraction=0.5768106739703028
Traceback (most recent call last):
  File "../Main.py", line 3, in <module>
    import numpy
ModuleNotFoundError: No module named 'numpy'
2020-09-13 12:15:02188-wandb.wandb_代理-INFO-Running运行:['klawqpqv']
2020-09-13 12:15:02189-wandb.wandb_代理-信息-清理完成运行:klawqpqv
2020-09-13 12:15:03063-wandb.wandb_代理-信息-代理收到命令:运行
2020-09-13 12:15:03063-wandb.wandb_代理-信息-代理使用配置开始运行:
批号:75
批量:380
纪元:10
神经网络块:4
数量:301
pb_c_基地:17138
pb_c_init:1.5509741790555416
根dirichletα:2.7032316257955133
根分数:0.5768106739703028
2020-09-13 12:15:03245-wandb.wandb_代理-INFO-即将运行命令:python../Main.py--batch_number=75--batch_size=380--epochs=10--neural_net_blocks=4--num_simulations=301--p
b_c_base=17138--pb_c_init=1.5509741790555416--root_dirichlet_alpha=2.7032316257955133--root_分数=0.5768106739703028
回溯(最近一次呼叫最后一次):
文件“./Main.py”,第3行,在
进口numpy
ModuleNotFoundError:没有名为“numpy”的模块

三次尝试失败后,扫描失败,我想知道我做错了什么。当然,当为机器学习项目制作W&B时,必须能够导入numpy,那么我可以改变什么呢。在此之前,我的代码只是从我的项目导入其他文件。当我正常运行代码时,它不会崩溃,但执行得非常正常。

您遇到的最可能的问题是,
wandb代理
正在使用与预期不同的python解释器运行python脚本

解决方案是通过向扫描配置添加类似的内容来指定python解释器(其中,
python3
是您希望使用的解释器):

此功能记录在:

还有一个关于将python解释器设置为的常见问题:

要进一步了解正在发生的事情,您可以查看发布的调试行,其中显示:“即将运行命令:”

默认情况下,
wandb代理
使用名为
python
的python解释器。这允许用户使用pyenv、virtualenv或其他工具自定义他们的环境,以便python指向他们选择的解释器

如果您通常使用命令行python2或python3运行命令,则可以通过如上所述在配置文件中指定
命令
键来自定义代理程序执行程序的方式。或者,如果您的程序是可执行的,并且python解释器位于脚本的第一行,请使用
#/usr/bin/env python3
语法,您可以将命令数组设置为:

command:
  - ${env}
  - ${program}
  - ${args}

谢谢你的回答@JeffRaubitschek,我尝试过更换解释器,但在我的实验中,我发现wandb给出的命令在我复制、粘贴并自己运行时非常有效。我在进行此操作时还打印了python版本,发现两者使用的python版本完全相同。为什么一个人可以访问导入的文件,而另一个人却不能,这只是一个奇怪的原因。
python ../Main.py --batch_number=75 --batch_size=380 --epochs=10 --neural_net_blocks=4 --num_simulations=301 --pb_c_base=17138 --pb_c_init=1.5509741790555416 --root_dirichlet_alpha=2.7032316257955133 --root_exploration_fraction=0.5768106739703028
command:
  - ${env}
  - ${program}
  - ${args}