计算张量积的R向量内存耗尽
我正在RStudio(3.5.2版)中计算60000对28*28矩阵的张量积,控制台显示“错误:向量内存耗尽(达到限制?)。我不认为我的MacBookPro会有如此低的容量(16GB内存)。我尝试了用于并行计算的计算张量积的R向量内存耗尽,r,R,我正在RStudio(3.5.2版)中计算60000对28*28矩阵的张量积,控制台显示“错误:向量内存耗尽(达到限制?)。我不认为我的MacBookPro会有如此低的容量(16GB内存)。我尝试了用于并行计算的mclappy方法,但仍然不起作用。有人能给我一些见解吗?非常感谢 如有必要,以下是我的代码。我跑不完最后一行 install.packages("keras") library(keras) install_keras() install_keras(method
mclappy
方法,但仍然不起作用。有人能给我一些见解吗?非常感谢
如有必要,以下是我的代码。我跑不完最后一行
install.packages("keras")
library(keras)
install_keras()
install_keras(method = "conda")
library(keras)
mnist <- dataset_mnist()
str(mnist)
trainx <- mnist$train$x
trainy <- mnist$train$y
testx <- mnist$test$x
testy <- mnist$test$y
trainxr <- trainx
trainxg <- trainx
trainxb <- trainx
testxr <- testx
testxg <- testx
testxb <- testx
#training data
i <- 1
for(i in i:60000){
randomr <- sample (0:255, 1)
randomg <- sample (0:255, 1)
randomb <- sample (0:255, 1)
trainxr[i,,] <- (randomr/255)*(trainx[i,,]/255)
trainxg[i,,] <- (randomg/255)*(trainx[i,,]/255)
trainxb[i,,] <- (randomb/255)*(trainx[i,,]/255)
i <- i+1
}
#testing data
j <- 1
for(j in j:10000){
randomr <- sample (0:255, 1)
randomg <- sample (0:255, 1)
randomb <- sample (0:255, 1)
testxr[j,,] <- (randomr/255)*(testx[j,,]/255)
testxg[j,,] <- (randomg/255)*(testx[j,,]/255)
testxb[j,,] <- (randomb/255)*(testx[j,,]/255)
j <- j+1
}
#for training
k <- 1
for(k in k:60000){
randomminus <- sample (0:255, 1)
matrixminus <- matrix((randomminus/255):(randomminus/255), nrow = 28, ncol = 28)
trainxr[k,,] <- trainxr[k,,] - matrixminus
trainxr[k,,] <- abs(trainxr[k,,])
trainxg[k,,] <- trainxg[k,,] - matrixminus
trainxg[k,,] <- abs(trainxg[k,,])
trainxb[k,,] <- trainxb[k,,] - matrixminus
trainxb[k,,] <- abs(trainxb[k,,])
k <- k+1
}
#for testing
l <- 1
for(l in l:10000){
randomminus <- sample (0:255, 1)
matrixminus <- matrix((randomminus/255):(randomminus/255), nrow = 28, ncol = 28)
trainxr[l,,] <- trainxr[l,,] - matrixminus
trainxr[l,,] <- abs(trainxr[l,,])
trainxg[l,,] <- trainxg[l,,] - matrixminus
trainxg[l,,] <- abs(trainxg[l,,])
trainxb[l,,] <- trainxb[l,,] - matrixminus
trainxb[l,,] <- abs(trainxb[l,,])
l <- l+1
}
#tensor product
stepone <- matrix(1:1, nrow=21952, ncol=28)
steptwo <- matrix(1:1, nrow=28, ncol=28)
trainxtensor_a <- trainxr %x% trainxg
install.packages(“keras”)
图书馆(keras)
安装_keras()
安装_keras(方法=“康达”)
图书馆(keras)
mnist我猜你打算在张量积中折叠第二和第三维度。也许你想要这样的东西:
library(tensor)
trainxtensor_a <- tensor(trainxr, trainxg, c(2,3), c(2,3))
库(张量)
列车调度员这是否回答了您的问题尝试将R\u MAX\u VSIZE=100Gb
添加到您的.Renviron
谢谢您的回复,用户438383。我尝试过这种方法,但没有成功:(如果你有无限的资源,最后一行的输出将是一个60000^2乘784乘784的数组,这是相当大的。这真的是你所期望的吗?非常感谢!只是一个小问题:“tensor”是我应该安装的包吗,比如install.packages(“tensor”)
然后是库(tensor)
?当我使用该软件包时,环境似乎没有任何反应。再次感谢您的努力!是的,使用安装.软件包(“tensor”)
在库调用之前安装它,库调用刚刚加载它。你也可以通过菜单“工具”->“在RStudio中安装软件包”进行安装。如果你经常使用R,你将安装很多软件包……实际上我的计算机运行了一个多小时
trainxtensor_a <- tensor(trainxr[1:5,,], trainxg[1:5,,], c(2,3), c(2,3))