pytorch本来正常使用的代码突然out of memory

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wangbin12122224/article/details/78929135

最近在在一台新的服务器上安装了pytorch,将之前的网络移植过来跑却out of memory了,仔细看了代码没有发现什么问题。最后发现是安装的pytorch版本太低了。

  • 首先查看pytorch版本:
import torch
print (torch.__version__)

我发现安装的是0.1.12版本的,与现在不符合,需要更新pytorch。

  • 我是用conda更新pytorch
conda config --add channels soumith
conda update pytorch torchvision

更多有关更新pytorch的内容可以看这篇文章https://ptorch.com/news/37.html

补充:我发现用conda一直安装不上最新的pytorch 0.3.0版本,我的解决办法是使用在安装conda的基础上使用pip安装。使用官网的代码:

pip install http://download.pytorch.org/whl/cu80/torch-0.3.0.post4-cp27-cp27mu-linux_x86_64.whl 
pip install torchvision 

这是安装在当前用户anaconda路径下的。

展开阅读全文

tomcat out of memory 问题

03-25

我现在做的一个项目是struts+hibernate架构的rn在大数据量检索时会出现out of memory的error我想捕获这经errorrn以下是代码rn[code="java"]rntryrn session = DBConnection.getSession();//Obtaining hibernate sessionrn rn //run this query and populate the query listrn search_DB = "select * from commonlogs";rn rn query = session.createQuery(search_DB);rnrn for(int i =0; i< params.length; i++)rn rn if(params[i]==null)rn break;rn query.setString(i, params[i]);rn rn rn query.setMaxResults(fetchSize);rn rn [color=red]returnValue = query.list();[/color]rn rn catch(MyException ex)rn throw ex;rn rn catch(Exception ex)rn throw new MyException (ErrorCodes.SQLEXCEPTION,ex);rn rn //start add by sunwei 2009/03/05rn catch (Throwable e) rn logger.writeError(ErrorCodes.NONSPECIFIEDEXCEPTION, ResourceAccess.getErrorMessage(ErrorCodes.NONSPECIFIEDEXCEPTION), e);rn throw new MyException (ErrorCodes.NONSPECIFIEDEXCEPTION,new Exception(e.toString()));//也是输出logrn rn //end add by sunwei 2009/03/05rn finallyrn tryrn rn DBConnection.releaseResources(session);//Closing sessionrn rn catch(MyException ex)rn throw ex;rn rn rn[/code]rn上一层捕获MyException的话,会跳转到GlobalErrors.jsp(错误页面)rnrn[color=red]returnValue = query.list();[/color]执行时会out of memoryrnrnstruts-config.xmlrn[code="java"]rnrn rn rn rn rn rn rn[/code]rn不能输出log,但会跳转到GlobalErrors.jsp(错误页面)rn我用的log机制是log4j,其它异常(比如数据库连接失败等)都会输出log,就是out of memory不能.rn谁能帮我看看是什么原因.n[b]问题补充:[/b]n谢谢大家的回答!rn调高JVM的内在确实可以减少out of memory的发生,这个我以前调查过.rn我说一下这个程序发生out of memory原因:主要是一次从数据库中检索出100万条记录造成的,我也不想这样做查询的,但是程序已经是不能改了,只想知道原因.rn既然throwable不能捕获out of memory这个error,那什么程序又可以跳转到GlobalErrors.jsp(错误页面) 呢?能不能帮我分析一下.已经加分了.n[b]问题补充:[/b]n为什么程序又可以跳转到GlobalErrors.jsp(错误页面) 呢? 问答

out of memory错误

04-12

TPerson、ICustomer分别是对人和公司的封装,TPersonalCustomer从它俩继承,封装个人类型的客户(对应的还有公司类型的客户),TPersonalCustomer重载了TPerson类中的Name属性,但是在给Name赋值的时候,却引发了Out of Memory错误,为什么呢?rnrn代码片段:rnrn//// Classes and Interfacerntypern TPerson = class;rn TPersonalCustomer = class;rn ICustomer = interfacern function GetDisplayName: WideString; stdcall;rn property DisplayName: WideString read GetDisplayName;rn end;rnrn TPerson = class(TInterfacedObject, IInterface)rn privatern FName: WideString;rn procedure SetName(const Value: WideString);rn publishedrn property Name: WideString read FName write SetName;rn end;rnrn TPersonalCustomer = class(TPerson, ICustomer)rn privatern FNoshow: Boolean;rn publicrn function GetDisplayName: WideString; stdcall;rn publishedrn property Name;rn end;rnrnimplementationrnrnuses SysUtils,rn Dialogs;rnrnprocedure TPerson.SetName(const Value: WideString);rnbeginrn //ShowMessage(Value);rn FName := Value; <-- out of memory herernend;rnrnfunction TPersonalCustomer.GetDisplayName: WideString;rnbeginrn Result :='客户'+ Name;rnend;rnrnend.rnrnrn////// codes in the formrnrnprocedure TForm1.btn1Click(Sender: TObject);rnvarrn Customer : ICustomer;rnbeginrn Customer := TPersonalCustomer.Create;rn TPerson(Customer).Name := widestring(edt1.Text );rn ShowMessage(Customer.DisplayName);rn Customer := nil;rnend;rnrn 论坛

没有更多推荐了,返回首页