我想使用 NN 的输出变量作为另一个函数的输入,但遇到了这样的错误“目前只有用户(图叶)明确创建的张量支持深度复制协议”。输出变量需要梯度。
我尝试将输出变量更改为 numpy 值,但在这种情况下,反向传播不起作用,因为它将 numpy 值视为不需要梯度的变量。
output = model(SOC[13])
# Three output values of NN
Rs=output[0]
R1=output[1]
C1=output[2]
# Using these variables in another function
num1=[Rs*R1*C1,R1+Rs]
den1=[C1*R1,1]
G = control.tf(num,den)
Run Code Online (Sandbox Code Playgroud)
它应该可以工作,但它会出错。
14 num=[Rs*R1*C1,R1+Rs]
15 den=[C1*R1,1]
---> 16 G = control.tf(num,den)
~\Anaconda3\lib\site-packages\control\xferfcn.py in __init__(self, *args)
106
107 """
--> 108 args = deepcopy(args)
109 if len(args) == 2:
110 # The user provided a numerator and a denominator.
~\Anaconda3\lib\site-packages\torch\tensor.py in __deepcopy__(self, memo)
16 def __deepcopy__(self, memo):
17 if not …
Run Code Online (Sandbox Code Playgroud)