【问题标题】:Accessing the derivatives via the recorder error in example在示例中通过记录器错误访问衍生品
【发布时间】:2018-07-30 22:39:24
【问题描述】:

我正在尝试访问衍生产品。看说明书,录音机应该有的。但是,运行以下代码我收到错误: 有什么想法吗?

deriv_case = cr.driver_derivative_cases.get_case('rank0:SLSQP|1')

AttributeError: 'SqliteCaseReader' 对象没有属性 'driver_derivative_cases'**

from openmdao.drivers.scipy_optimizer import ScipyOptimizeDriver

from openmdao.test_suite.components.sellar import SellarDerivativesGrouped
from openmdao.test_suite.components.sellar import SellarProblem

from openmdao.recorders.case_reader import CaseReader
from openmdao.recorders.sqlite_recorder import SqliteRecorder

prob = SellarProblem(SellarDerivativesGrouped)

driver = prob.driver = ScipyOptimizeDriver(optimizer='SLSQP')
driver.recording_options['record_derivatives'] = True
fname = "record.sql"
recorder = SqliteRecorder(fname)
prob.driver.add_recorder(recorder)
#driver.add_recorder('recorder')

prob.setup()
prob.run_driver()


prob.cleanup()

cr = CaseReader(fname)

# Get derivatives associated with the first iteration.
deriv_case = cr.driver_derivative_cases.get_case('rank0:SLSQP|1')

# Get all derivatives from that case.
derivs = deriv_case.get_derivatives()

# See what derivatives have been recorded.
print(set(derivs.keys))

【问题讨论】:

    标签: openmdao


    【解决方案1】:

    该示例来自最新的 beta 文档,这些文档与 github master 分支上的当前代码相关联。我猜您可能正在运行最新版本,即 2.3.1,它还没有该功能。您可以在 Github 上克隆我们的存储库以获取对代码的最新提交,或者您可以等到我们发布 2.4。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-18
      • 1970-01-01
      • 1970-01-01
      • 2018-05-16
      • 1970-01-01
      相关资源
      最近更新 更多