问题
在使用Jupter notebook时,运行其他代码还好,一旦涉及到图的绘制问题就一直提示服务器似乎挂掉
运行下列代码:
import torch
import numpy as np
import sys
import d2lzh_pytorch as d2l
# 定义一个作图函数
def semilogy(x_vals, y_vals, x_label, y_label, x2_vals=None, y2_vals=None,
legend=None, figsize=(3.5, 2.5)):
d2l.set_figsize(figsize)
d2l.plt.xlabel(x_label)
d2l.plt.ylabel(y_label)
d2l.plt.semilogy(x_vals, y_vals)
if x2_vals and y2_vals:
d2l.plt.semilogy(x2_vals, y2_vals, linestyle=':')
d2l.plt.legend(legend)
#定义变量
X = torch.range(1,5)
Y = X**2
#使用作图函数
semilogy(X,Y,'X','Y')
运行后发现代码没有错误的前提下,会进行报警说服务器挂掉了,使用多次发现其他代码运行正常,一旦涉及图像处理就会产生如下图所示的报错
解决方法
在保证安装没有出现很大问题的情况下,可以使用以下代码解决
import os #解决服务器挂掉的问题
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
将上述代码添加在文中代码最开始的import阶段
总体代码如下:
import torch
import numpy as np
import sys
import d2lzh_pytorch as d2l
import os #解决服务器挂掉的问题
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
# 定义一个作图函数
def semilogy(x_vals, y_vals, x_label, y_label, x2_vals=None, y2_vals=None,
legend=None, figsize=(3.5, 2.5)):
d2l.set_figsize(figsize)
d2l.plt.xlabel(x_label)
d2l.plt.ylabel(y_label)
d2l.plt.semilogy(x_vals, y_vals)
if x2_vals and y2_vals:
d2l.plt.semilogy(x2_vals, y2_vals, linestyle=':')
d2l.plt.legend(legend)
X = torch.range(1,5)
Y = X**2
semilogy(X,Y,'X','Y')
运行上图代码,得到如下图的结果:
发现问题得到了解决,接下来在运行的时候不会因为图片加载而出现服务器挂掉的问题
但在使用Jupter notebook时要注意,不要同时打开太多的Jupter这样可能也会产生 服务器报警或挂掉的现象发生