在使用Google Collab中的所有可用RAM后,您的会话崩溃了

时间:2019-03-02 00:11:56

标签: python pandas dataframe google-colaboratory

我有6个大数据tsv文件,正在读取它们到Google Collab中的数据框中。但是,文件太大,Google Colab无法处理。

#Crew data
downloaded = drive.CreateFile({'id':'16'}) 
downloaded.GetContentFile('title.crew.tsv') 
df_crew = pd.read_csv('title.crew.tsv',header=None,sep='\t',dtype='unicode')

#Ratings data
downloaded = drive.CreateFile({'id':'15'}) 
downloaded.GetContentFile('title.ratings.tsv') 
df_ratings = pd.read_csv('title.ratings.tsv',header=None,sep='\t',dtype='unicode')


#Episode data
downloaded = drive.CreateFile({'id':'14'}) 
downloaded.GetContentFile('title.episode.tsv') 
df_episode = pd.read_csv('title.episode.tsv',header=None,sep='\t',dtype='unicode')

#Name Basics data
downloaded = drive.CreateFile({'id':'13'}) 
downloaded.GetContentFile('name.basics.tsv') 
df_name = pd.read_csv('name.basics.tsv',header=None,sep='\t',dtype='unicode')

#Principals data
downloaded = drive.CreateFile({'id':'12'}) 
downloaded.GetContentFile('title.pricipals.tsv') 
df_principals = pd.read_csv('title.pricipals.tsv',header=None,sep='\t',dtype='unicode')

#Title Basics data
downloaded = drive.CreateFile({'id':'11'}) 
downloaded.GetContentFile('title.basics.tsv') 
df_title = pd.read_csv('title.basics.tsv',header=None,sep='\t',dtype='unicode')

错误:使用所有可用的RAM后,会话崩溃。运行时日志说: enter image description here

Google Collab如何更好地处理Ram?我所有的tsv文件的总大小为2,800 MB。请指教!

2 个答案:

答案 0 :(得分:0)

Google colab通常会提供12 GB的免费内存,但我们可以通过向Google支付任何费用来增加它。

只需编写三行代码,您就可以将Ram从12GB增加到25GB

a = [] while(1): a.append('1')

尝试一下可能会有帮助。

答案 1 :(得分:0)

最简单的方法是只在使用时使用数据并从内存中删除它。这可以通过释放垃圾收集器来强制完成(请参阅此处的线程 [https://stackoverflow.com/questions/1316767/how-can-i-explicitly-free-memory-in-python]){{3} }

如果您想在 Colab 中扩展您的 RAM,曾经有一个黑客行为,您故意导致它耗尽 RAM,然后它会为您提供更高的 RAM 运行时间。也可以使用 Colab pro 在运行时 -> 更改运行时类型下选择此选项。每月 10 美元,Colab pro 可能是您的不错选择。

我看到了这个 hack 1,但简而言之,只是在 while 循环中将一些内容附加到数组中,直到 RAM 耗尽。

a = []
while 1:
    a.append("1")