我正在编写一个适用于大型数据集和其他一些相关计算的机器学习程序。由于数据集可能非常大,因此某些计算会生成非常大的矩阵(例如 29,000 x 29,000 Array{Float64,2}),并且它们需要大量存储空间 (RAM)。在该过程的后期,一些元素(如初始数据集)不再需要,但它们仍在浪费内存空间。
有没有办法在某个时候“释放”变量?或者,有没有办法共享一些硬盘部分,比如交换空间?
最佳答案
总结一下……典型的方法是用需要很少内存的对象覆盖不必要地消耗内存的对象。摘自常见问题解答(如上链接):
For example, if A is a gigabyte-sized array that you no longer need, you can free the memory with A = 0. The memory will be released the next time the garbage collector runs; you can force this to happen with gc().
如果你想创建一个新的工作区(即清除所有变量),这是通过
workspace()
关于julia - 如何在 Julia 中设置 "free"变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24026160/