我需要使用CentOS在AWS EC2 GPU实例上执行一些离屏渲染程序.然而,虽然我发现Ubuntu很容易设置,但我不能让CentOS正常工作.
目标是在EC2 GPU实例上运行一些基本的实用程序/测试工具(没有屏幕或X客户端).在下面的文章中,我将描述如何设置Ubuntu以及CentOS/Amazon Linux AMI如何失败.
在ubuntu 12.04上,一切都很顺利.我使用的EC2环境是:
启动实例后,将执行以下命令:
# Install the Nvidia driver
sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current
# Driver installation needs reboot
sudo reboot now
# Install and configure X window with virtual screen
sudo apt-get install xserver-xorg libglu1-mesa-dev freeglut3-dev mesa-common-dev libxmu-dev libxi-dev
sudo nvidia-xconfig -a --use-display-device=None --virtual=1280x1024
sudo /usr/bin/X :0 &
# OpenGL programs are now workable. Ex. glxinfo, glxgears
DISPLAY=:0 glxinfo
Run Code Online (Sandbox Code Playgroud)
该glxgears …
我已经根据训练过的模型生成了一个.tflite模型,我想测试一下tfilte模型给出与原始模型相同的结果.
给出相同的测试数据并获得相同的结果.
我正在设计类似扫雷的游戏(带有修改过的规则),我想阻止玩家猜测.我的目标是:生成的棋盘上只有很少的显示方块,玩家可以毫无猜测地解决整个拼图.
维基百科提到:
Minesweeper的一些实现将通过从未在显示的第一个方块上放置一个矿,或者通过安排板以使解决方案不需要猜测来设置板.
但是,我无法弄清楚算法.
此外,在另一个StackOverflow问题:扫雷解决算法
改进:在生成器旁边运行求解器,确保拼图具有独特的解决方案.这需要一些聪明,并且在大多数变体中都没有.
我怀疑这是否真的有效.众所周知,解决扫雷是NP完全的.
总之,我的问题是:
假设你在一个带N
开关的房间里,隔壁房间里有一个灯泡.只有当某些指定的开关全部打开时,灯泡才会发光.
组
switches
=所有开关的集合.|switches| = N
.required
=需要打开的开关才能使灯泡发光. 不需要的开关无关紧要.
只有进入下一个房间,才能检查灯泡是否发光.您可以打开或关闭某些开关,转到下一个房间检查灯泡,然后重复此过程.让我们称之为ATTEMPT.
假设N
在WORST CASE中有一些开关,找出这组required
开关所需的最小尝试次数(使用优化策略)是多少?
例如,
switches = { 1, 2, 3 }
required = { 1, 2 }
让我们尝试一种天真的方法:
{ 1, 2 }
,灯光正在发光.(确保不需要开关3){ 1, 3 }
,灯不亮.(确保需要开关2){ 2, 3 }
,灯不亮.(确保需要开关1)因此,通过3次尝试,我们可以确保required = { 1, 2 }
.
这个问题的优化算法是什么?
我们worst(N)
要考虑的最小尝试N
在最坏的情况下开关.你能找到答案吗?worst(N)
更新:如果您认为worst(N) = N
,您能提供正式证明吗?
我目前正在研究单图像超分辨率,并且设法冻结了现有的检查点文件并将其转换为tensorflow lite。但是,当使用.tflite文件执行推理时,对一幅图像进行升采样所花费的时间至少是使用.ckpt文件恢复模型时所花费的时间的四倍。
使用.ckpt文件的推理是使用session.run()完成的,而使用.tflite文件的推理是使用解释器.invoke()完成的。两种操作都是在典型PC上运行的Ubuntu 18 VM上完成的。
我要查找有关此问题的更多信息是top
在单独的终端中运行,以查看执行任一操作时的CPU利用率。.ckpt文件的利用率达到270%,而.tflite文件的利用率保持在100%左右。
interpreter.set_tensor(input_details[0]['index'], input_image_reshaped)
interpreter.set_tensor(input_details[1]['index'], input_bicubic_image_reshaped)
start = time.time()
interpreter.invoke()
end = time.time()
Run Code Online (Sandbox Code Playgroud)
与
y = self.sess.run(self.y_, feed_dict={self.x: image.reshape(1, image.shape[0], image.shape[1], ch), self.x2: bicubic_image.reshape(1, self.scale * image.shape[0], self.scale * image.shape[1], ch), self.dropout: 1.0, self.is_training: 0})
Run Code Online (Sandbox Code Playgroud)
一种假设是没有为多线程配置tensorflow lite,另一种认为是针对ARM处理器(而不是我的计算机所运行的Intel处理器)优化了tensorflow lite,因此速度较慢。但是,我不能肯定地说,也不知道如何找到问题的根源-希望外面有人对此有更多的了解?
algorithm ×2
tensorflow ×2
amazon-ec2 ×1
centos ×1
gpu ×1
math ×1
minesweeper ×1
opengl ×1
python ×1