- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我一直在研究神圣,它看起来很棒。不幸的是,我没有找到任何像我试图实现的多文件用例示例。
所以我有一个名为configuration.py的文件,它旨在包含不同的变量,这些变量将(使用神圣)插入到代码的其余部分(放置在不同的文件中):
from sacred import Experiment
ex = Experiment('Analysis')
@ex.config
def configure_analysis_default():
"""Initializes default """
generic_name = "C:\\basic_config.cfg" # configuration filename
message = "This is my generic name: %s!" % generic_name
print(message)
@ex.automain #automain function needs to be at the end of the file. Otherwise everything below it is not defined yet
# when the experiment is run.
def my_main(message):
print(message)
这本身就很有效。神圣正在按预期工作。但是,当我尝试引入第二个名为 Analysis.py 的文件时:
import configuration
from sacred import Experiment
ex = Experiment('Analysis')
@ex.capture
def what_is_love(generic_name):
message = " I don't know"
print(message)
print(generic_name)
@ex.automain
def my_main1():
what_is_love()
运行 Analysis.py 会产生:
错误:
TypeError: what_is_love is missing value(s) for ['generic_name']
我期望“导入配置”语句包含configuration.py文件,从而导入其中配置的所有内容,包括configure_analysis_default()及其装饰器@ex.config,然后将其注入(inject)到what_is_love(generic_name)。我究竟做错了什么?我该如何解决这个问题?
欣赏!
最佳答案
看起来我们应该使用成分来做这种事情。
http://sacred.readthedocs.io/en/latest/ingredients.html
但是我还没有完全弄清楚。
我在设置中遇到了循环导入问题,因此我使用一个单独的文件 exp.py,仅说明
from sacred import Experiment
ex = Experiment("default")
在我做的包中的每个文件中
从 exp 导入 ex
装饰器和配置变量传递似乎有效。我可以在命令行上使用 --name 更改实验的名称:
$> python main.py --name newname
关于python - 神圣的,python - ex.config 在一个文件和 ex 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47790619/
我是一名优秀的程序员,十分优秀!