我正在使用深度学习在100个caterogies的大型数据集上进行图像识别。 (与cifar-100的大小相比)我现在在没有GPU的单台机器上调整超参数。训练非常缓慢。我想知道是否有任何现有的方法来对EC2 Spark集群进行培训? 我知道有SparkNet,但它似乎只支持Caffe。
答案 0 :(得分:1)
正如@Ramon评论的那样,带有张量流的spark可以通过广播参数用于超参数调整。 See this example from databricks
def map_fun(i):
import tensorflow as tf
with tf.Graph().as_default() as g:
hello = tf.constant('Hello, TensorFlow!', name="hello_constant")
with tf.Session() as sess:
return sess.run(hello)
rdd = sc.parallelize(range(10))
rdd.map(map_fun).collect()
输出:
['Hello, TensorFlow!',
'Hello, TensorFlow!',
'Hello, TensorFlow!',
'Hello, TensorFlow!',
'Hello, TensorFlow!',
'Hello, TensorFlow!',
'Hello, TensorFlow!',
'Hello, TensorFlow!',
'Hello, TensorFlow!',
'Hello, TensorFlow!']
答案 1 :(得分:1)
最近有一些开发可以重复使用Spark集群进行TensorFlow培训:
雅虎!发布TensorFlowOnSpark,它使用Spark为您管理分布式TensorFlow集群,并帮助解决数据摄取,启动和关闭等问题。
如果您在Mesos群集上运行Spark,则可以按照here的说明在同一群集上运行TensorFlow。