首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >收到警告: warnings.warn(msg,UserWarning)

收到警告: warnings.warn(msg,UserWarning)
EN

Stack Overflow用户
提问于 2022-11-19 21:31:41
回答 1查看 47关注 0票数 0

我试图通过使用以下代码来使用cvxpy

变量的`#数n=len(符号)

变量向量

X=变量(N)

最小回报

req_return = 0.02

回报

ret = r.T*x

xT.Q.x格式的风险

risk = quad_form(x,C)

CVXPY问题类的核心问题定义

prob =问题(最小化(风险)、和(X)==1、ret >= req_return、x >= 0)

我收到警告

代码语言:javascript
复制
C:\Users\LENOVO\anaconda3\lib\site-packages\cvxpy\expressions\expression.py:593: UserWarning: 
This use of ``*`` has resulted in matrix multiplication.
Using ``*`` for matrix multiplication has been deprecated since CVXPY 1.1.
    Use ``*`` for matrix-scalar and vector-scalar multiplication.
    Use ``@`` for matrix-matrix and matrix-vector multiplication.
    Use ``multiply`` for elementwise multiplication.
This code path has been hit 2 times so far.

  warnings.warn(msg, UserWarning)

`

试着解决警告而不知道警告

代码语言:javascript
复制
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-19 22:23:13

它的警告意味着您的代码运行正常,所以让我们看看警告

警告告诉我们

代码语言:javascript
复制
Using ``*`` for matrix multiplication has been deprecated since CVXPY 1.1.

因此,您已经使用CVXPY版本上1.1如何解决:

代码语言:javascript
复制
    Use ``*`` for matrix-scalar and vector-scalar multiplication.
Use ``@`` for matrix-matrix and matrix-vector multiplication.
Use ``multiply`` for elementwise multiplication.

如果ret = r.T*x无法运行,您可以从CVXPY DOC中尝试ret = r.T @x

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74503922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档