【问题标题】:Unable to generate PDF with neural network graph无法使用神经网络图生成 PDF
【发布时间】:2012-10-12 08:43:21
【问题描述】:

我正在尝试创建神经网络图的硬拷贝图像,但一直失败。如果我尝试创建 PNG,则不会生成任何内容,如果我尝试生成 PDF,我会得到一个拒绝打开的小文件输出,并出现“文件可能已损坏”错误。如果我只是让它显示在图形窗口中,图像就会很好。

我在 Macports 构建的 OS X (10.7.4) 上使用 2.15.1。我目前正在使用的代码:

library(ALL)
library(neuralnet)
data(ALL)

ALL.pdat <- pData(ALL)
bt <- factor(substring(ALL.pdat$BT,1,1))
all.sds <- apply(exprs(ALL),1,sd)
top.10.sds <- rank(all.sds)>length(all.sds)-10
exprs.top.10 <- as.data.frame(t(exprs(ALL)[top.10.sds,]))
nn.data <- cbind(exprs.top.10, as.numeric(bt))
##  Gene names start with a number, and that causes problems when trying to set up the
##  formula for neuralnet.
col.names <- paste("g", colnames(nn.data), sep = '')
col.names[11] <- "bt"
colnames(nn.data) <- col.names
my.nn <- neuralnet(bt ~ g36108_at + g36638_at + g37006_at + g38096_f_at + g38319_at + g38355_at + g38514_at + g38585_at + g39318_at + g41214_at, nn.data,  hidden = 10, threshold = 0.01)
summary(my.nn)
pdf("./nn-all.pdf")
plot.nn(my.nn)
dev.off()
png("./nn-all.png")
plot.nn(my.nn)
dev.off()

我什至重新启动了机器以确保所有内存都已清除,但这没有任何帮助。

【问题讨论】:

标签: r plot neural-network


【解决方案1】:

简单的可重现示例:

pdf("test.pdf")
 set.seed(42)
 plot(runif(20),rnorm(20))
 png("test.png")
  set.seed(42)
  plot(runif(20),rnorm(20))
 dev.off()

如果我尝试在德语 Windows 7 上使用 Adob​​e Reader 打开 PDF,我会收到一条信息丰富的错误消息,告诉我无法打开该文件,因为该文件正在被另一个应用程序使用。这很容易解决:

pdf("test.pdf")
 set.seed(42)
 plot(runif(20),rnorm(20))
dev.off() #make sure to close the graphics device
png("test.png")
 set.seed(42)
 plot(runif(20),rnorm(20))
dev.off()

编辑:

问题是plot.nn。在包被打补丁之前,您需要手动重新定义plot.nn,如in this answer所示。

【讨论】:

  • 不幸的是,这并没有解决问题。我尝试打开 PDF 文件时出现的错误是“它可能已损坏或使用了 Preview 无法识别的文件格式。”没有生成任何 PNG 文件。
  • 为了记录,我可以运行您的示例代码,并且正确生成了 PNG 和 PDF 图。
  • 我无法访问包 ALL,但如果我使用来自 ?plot.nn 的示例,我将无法重现该错误。运行代码时dev.off()的输出是什么?
  • 所以,在 Linux (RHEL5u4, 2.15.0) 上运行我的相同代码会出现同样的问题 - 无法打开的 PDF 文件(尽管有更多关于错误的信息xpdf),没有生成 PNG 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-20
  • 2012-06-06
  • 2016-05-25
  • 2018-11-01
  • 1970-01-01
  • 2018-12-31
相关资源
最近更新 更多