我一直在玩,Deep Dream并Inceptionism使用Caffe框架来可视化层GoogLeNet,这是一个为Imagenet项目构建的架构,一个专为视觉对象识别而设计的大型可视化数据库.
Imagenet可以在这里找到:Imagenet 1000类.
为了探究架构并产生"梦想",我使用了三个笔记本:
https://github.com/kylemcdonald/deepdream/blob/master/dream.ipynb
https://github.com/auduno/deepdraw/blob/master/deepdraw.ipynb
这里的基本思想是从模型或"指南"图像中提取指定图层中每个通道的一些特征.
然后我们将我们希望修改的图像输入到模型中,并在指定的同一层中提取特征(对于每个八度音阶),增强最佳匹配特征,即两个特征向量的最大点积.
到目前为止,我已经设法使用以下方法修改输入图像和控制梦想:
- (a)将图层用作
'end'输入图像优化的目标.(见功能可视化)- (b)使用第二图像来指导输入图像上的de优化目标.
- (c)可视化
Googlenet由噪声产生的模型类.
但是,我想要实现的效果介于这些技术之间,我没有找到任何文档,论文或代码.
要使一个属于给定
'end'层的单个类或单元(a)引导优化目标(b)并使该类在输入图像上可视化(c):
一个例子,其中class = 'face'和input_image = 'clouds.jpg':
请注意:上面的图像是使用面部识别模型生成的,该模型未经过Imagenet数据集培训.仅用于演示目的.
方法(a)
from cStringIO import StringIO
import numpy as np
import scipy.ndimage as nd
import PIL.Image
from IPython.display import clear_output, Image, display
from google.protobuf …Run Code Online (Sandbox Code Playgroud) 我正在努力实现谷歌的深刻梦想.由于某些奇怪的原因,我一直在努
ImportError:没有名为google.protobuf的模块
在尝试导入protobuf之后.我已经安装了protobuf sudo install protobuf.我正在运行python 2.7 OSX Yosemite 10.10.3.
我认为这可能是部署位置问题,但我无法在网上找到任何关于它的内容.目前正在部署到/usr/local/lib/python2.7/site-packages.
有没有人成功培养过caffe模型?我有一个训练准备好的图像集,我想用它来创建一个用于Google的Deep Dream的caffe模型.
我能够找到的关于如何训练模型的唯一资源是:
ImageNet教程
编辑:这是另一个,但它不是创建deploy.prototxt文件.当我尝试使用另一个模型中的一个时,它"有效"但不正确.
caffe-oxford 102
任何人都可以指出我正确的方向来训练我自己的模型吗?
我对Google最近发表的一篇博客文章感兴趣,该博客描述了nn制作艺术品的用途.
我对一种技术特别感兴趣:
'在这种情况下,我们只需向网络提供任意图像或照片,让网络分析图片.然后,我们选择一个层,并要求网络增强检测到的内容.网络的每一层都处理不同抽象层次的特征,因此我们生成的特征的复杂性取决于我们选择增强的层.例如,较低层往往会产生笔画或简单的装饰状图案,因为这些图层对基本特征(如边缘及其方向)很敏感.
该帖子是http://googleresearch.blogspot.co.uk/2015/06/inceptionism-going-deeper-into-neural.html?m=1.
我的问题:帖子将此描述为一个"简单"的案例 - 是否有一个nn的开源实现可以在相对即插即用的过程中用于此目的?对于所描述的技术,网络是否需要经过培训?
毫无疑问,本文中提到的其他技术需要一个已经在大量图像上训练过的网络,但对于我所描述的那个,已经存在某种开源网络层可视化包?
artificial-intelligence neural-network deep-learning caffe deep-dream
我正在尝试从检查点文件加载以前训练过的张量训练模型,现在这些检查点文件中有操作变量,因此要加载图形,我必须首先从 **ckpt.meta 文件加载 graph_def:
graph = tf.Graph()
sess = tf.InteractiveSession(graph=graph)
saver = tf.train.import_meta_graph('/data/model_cache/model.ckpt-39.meta')
ckpt = tf.train.get_checkpoint_state(FLAGS.checkpoint_dir)
if ckpt and ckpt.model_checkpoint_path:
if os.path.isabs(ckpt.model_checkpoint_path):
saver.restore(sess, ckpt.model_checkpoint_path)
Run Code Online (Sandbox Code Playgroud)
加载模型后,我有一种方法可以使用此模型进行推理以实现深梦算法。问题是当我使用默认会话调用 eval 时,出现以下错误:
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 555, in eval
return _eval_using_default_session(self, feed_dict, self.graph, session)File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework /ops.py", line 3495, in _eval_using_default_session
raise ValueError("Cannot use the given session to evaluate tensor: "
ValueError: Cannot use the given session to evaluate tensor: the tensor's graph is different from the session's graph.
Run Code Online (Sandbox Code Playgroud)
我已经确认 tf.get_default_graph() 和 sess.graph 指向相同的内存地址。必须有一些非常基本的东西我错过了。
我是 …
deep-dream ×5
caffe ×3
imagenet ×1
install ×1
protocols ×1
python ×1
python-2.7 ×1
tensorflow ×1