import torch import numpy as np import matplotlib.pyplot as plt x = np.linspace(-10, 10, num=100) act = torch.nn.SiLU() pred = act(torch.from_numpy(x)) y = pred.detach().numpy() plt.plot(x, y) plt.show()用pycham运行报错了
时间: 2024-02-18 22:03:45 浏览: 30
在Pycharm运行matplotlib的时候,有时候需要手动设置backend才能正常显示图像。可以在代码中添加以下两行代码:
```
import matplotlib
matplotlib.use('TkAgg')
```
这样就可以使用Tkinter作为matplotlib的backend,正常显示图像。具体代码如下:
```
import torch
import numpy as np
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
x = np.linspace(-10, 10, num=100)
act = torch.nn.SiLU()
pred = act(torch.from_numpy(x))
y = pred.detach().numpy()
plt.plot(x, y)
plt.show()
```
如果还是无法显示图像,可以尝试更新matplotlib库或者重新安装matplotlib库。
相关问题
import torch import numpy as np import matplotlib.pyplot as plt x = np.linspace(-10, 10, num=100) act = torch.nn.SiLU() pred = act(torch.from_numpy(x)) y = pred.detach().numpy() plt.plot(x, y) plt.show()使图像一直停留界面
可以在代码最后加上`plt.waitforbuttonpress()`或者`plt.pause(0.001)`,来使图像停留在界面上。例如:
```
import torch
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-10, 10, num=100)
act = torch.nn.SiLU()
pred = act(torch.from_numpy(x))
y = pred.detach().numpy()
plt.plot(x, y)
plt.show()
plt.waitforbuttonpress()
```
或者
```
import torch
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-10, 10, num=100)
act = torch.nn.SiLU()
pred = act(torch.from_numpy(x))
y = pred.detach().numpy()
plt.plot(x, y)
plt.show()
plt.pause(0.001)
```
这样就可以使图像一直停留在界面上,直到用户手动关闭。
import torch import matplotlib.pyplot as plt x = torch.linspace(-2, 2, 50) y = -1.13*x-2.14*x**2+3.15*x**3-0.01*x**4+0.512 plt.scatter(x.data.numpy(), y.data.numpy(), "r") plt.show()有什么错误
代码中的 `plt.scatter` 函数的参数顺序有误,应该是先传入 `x` 数据,再传入 `y` 数据,最后才是设置点的属性。修改后的正确代码如下:
```python
import torch
import matplotlib.pyplot as plt
x = torch.linspace(-2, 2, 50)
y = -1.13*x-2.14*x**2+3.15*x**3-0.01*x**4+0.512
plt.scatter(x.data.numpy(), y.data.numpy(), c="r")
plt.show()
```
这样就可以正确地显示散点图了。