【问题标题】:Running .EXE or Perl file on Google Colab在 Google Colab 上运行 .EXE 或 Perl 文件
【发布时间】:2021-06-24 23:17:32
【问题描述】:

我想在 google colab 上处理一组带有可执行文件(例如 falsecolor2.exe)的 HDR 文件。

源文件在这里:https://github.com/mostaphaRoudsari/honeybee/blob/master/resources/falsecolor2.exe?raw=true 示例 HDR 文件: http://www.anyhere.com/gward/hdrenc/pages/originals.html

可执行文件采用带有一些参数的 HDR 文件并生成一个新的 HDR 文件。 在我的本地机器和驱动器上,以下代码可以正常工作:

import os
os.system(r'D:\falsecolor2.exe -i D:\test.hdr -s 250.0 -n 10 -mask 0.1 -l lux -m 179 -lp EN -z > D:\test@fc.hdr')

我不确定如何在 colab 中创建类似的流程;安装 gdrive 后,以下代码在我的 gdrive 中生成一个 0 字节不工作的 HDR,并返回错误代码 32256。

import os
os.system('/content/drive/My\ Drive/falsecolor2.exe -i /content/drive/My\ Drive/MOSELEY\ IMAGES/test.hdr -s 250.0 -n 10 -mask 0.1 -l lux -m 179 -lp EN -z > /content/drive/My\ Drive/test@fc.hdr')

我在 shell 和 linux 可执行文件上读取了一些线程,但无法成功复制它们中的任何一个。

【问题讨论】:

  • 据我所知,Google Colab 无法在 Windows 上运行,因此您将无法轻松运行 .exe 文件。你有那个文件的Linux版本吗?您可以访问该程序的源代码吗?可以为 Linux 构建吗?
  • @HernánAlarcón 我找到了一个 linux 版本的源包(即 Radiance),这里复制了假色文件,我对 linux 的经验为零,所以不确定它是否有任何价值:@987654323 @

标签: python perl google-drive-api exe google-colaboratory


【解决方案1】:

您可以像这样在 Google Colab 中安装 Radiance:

# Download the Linux compiled version of radiance from Github (e.g. 5.3, latest official release at the moment):
!wget -O radiance.zip https://github.com/LBNL-ETA/Radiance/releases/download/012cb178/Radiance_012cb178_Linux.zip

# Unzip it
!unzip radiance.zip

# Extract the tar.gz to /usr/local/radiance
!tar -xvf radiance-5.3.012cb17835-Linux.tar.gz --strip-components=1 -C /

# Add /usr/local/radiance/bin to the PATH environment variable
path = %env PATH
%env PATH=/usr/local/radiance/bin:$path

# Set the RAYPATH environment variable to /usr/local/radiance/lib
%env RAYPATH=/usr/local/radiance/lib

我运行!lsb_release -a 在 Google Colab 中查找 Linux 发行版,它说它是 Ubuntu 18.04。不幸的是,Radiance 似乎不适用于该版本,而仅适用于 16.04。这就是为什么从 Github 获取它似乎是下一个最简单的解决方案。见radiance in Ubuntu Packages

精确命中

包装光彩

  • xenial (16.04LTS)(图形):光照模拟和渲染系统 [universe] 4R1+20120125-1.1:amd64 arm64 armhf i386 powerpc ppc64el s390x

然后我尝试使用您链接的示例图像之一运行您的falsecolor 命令,发现-lp-z 选项不可用:

# Get a sample HDR file
!wget -O input.hdr http://www.anyhere.com/gward/hdrenc/pages/img/Apartment_float_o15C.hdr

# Try original command
!falsecolor -i input.hdr -s 250.0 -n 10 -mask 0.1 -l lux -m 179 -lp EN -z > output.hdr

# Output:
# bad option "-lp"

# Remove option -lp
!falsecolor -i input.hdr -s 250.0 -n 10 -mask 0.1 -l lux -m 179 -z > output.hdr

# Output:
# bad option "-z"

如果您删除这些选项,命令将成功运行:

# Remove option -z
!falsecolor -i input.hdr -s 250.0 -n 10 -mask 0.1 -l lux -m 179 > output.hdr

# List output file
!ls -lh output.hdr

# Output:
# -rw-r--r-- 1 root root 4.8M Mar 31 02:57 output.hdr

this colab 中查看演示。

【讨论】:

  • 谢谢!!这太好了,你完成了所有繁重的工作。那些不好的选项在新版本 falsecolor2 中有效,我会尝试为它找到一个 Linux 实现。
猜你喜欢
  • 2020-09-26
  • 2021-05-31
  • 2022-07-28
  • 2019-02-19
  • 1970-01-01
  • 2019-10-18
  • 2021-12-13
  • 1970-01-01
  • 2020-08-21
相关资源
最近更新 更多