You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过CVXPY调用Mosek时,stat_key无法保存Verbose输出的问题

解决CVXPY调用Mosek时保存Verbose输出的问题

你误用了stat_key参数——这个参数是用来给Mosek的统计结果条目设置标识键的,不是用来保存控制台输出日志的,所以才会出现文件未生成的情况。

正确方案:使用Mosek日志文件参数

要把Mosek的verbose输出保存到文件,需要设置mosek.sparam.log_file_name参数,指定输出文件路径。同时配合verbose=True确保日志输出开启。修改后的代码如下:

import cvxpy as cvx
import mosek
import numpy as np

A = np.random.randint(10, size=(16,32))
b = np.random.randint(10, size=16)
c = np.random.randint(10, size=32)

x = cvx.Variable(32, integer=True)
prob = cvx.Problem(cvx.Maximize(c @ x), [A @ x <= b, x >= 0, x <= 10])
prob.solve(
    solver=cvx.MOSEK,
    mosek_params={mosek.sparam.log_file_name: 'results.txt'},
    verbose=True
)

运行后,results.txt会包含Mosek在终端输出的所有日志内容。

补充说明

  • 若需调整日志详细程度,可额外设置mosek.iparam.log参数,比如设为mosek.log.log_info或mosek.log.log_debug获取更细致的日志;
  • 如果需要同时在终端显示日志并保存到文件,除了上述原生参数方法,也可通过Python标准输出重定向实现,但前者更可靠。

内容的提问来源于stack exchange,提问作者Hennich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 11:45:37