由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 有谁干过这件事?
相关主题
没人讨论狗家最新开源的tensorflow?感觉版上大都搞ML, DL
caffe等CNN里面convolution和relu是分开的两层?xeon phi就是翔啊
妈的怎么那么多鸡毛语言/软件问个BT问题 :)(c )
Hinton的capsule理论是不是证明是伪科学了?newbie python question
亚麻决定支持mxnetpython里面的__slot__是用来做什么?
被docker气死了perl能不能一次把一个str中的a替换成x,b替换成y? (转载)
tensorflow基本上就石狗家的闲的无所事事的储备军搞的东西An error about Boost Date
胡扯几句什么叫Deep Learning入门请教一个c++ map问题
相关话题的讨论汇总
话题: tf话题: caffe话题: 网络话题: 嫁接话题: onnx
进入Programming版参与讨论
1 (共1页)
w*****r
发帖数: 197
1
两个神经网络是用不同的framework写的,想把一个网络的中间结构作为输出,接到另
一个网络作为输入。然后,对于这个嫁接后的网络,做end-to-end的训练。也就是说梯
度需要从一个framework,如caffe,propagate到另一个framwork,如tensorflow。
google search了一下午,还没有什么头绪,谢谢指路!
w***g
发帖数: 5958
2
- TF获得gradient
V = tf.Variable(...) # 这个是tf部分输入
Loss = some_function_of(V, Label)
DV = tf.gradient(Loss, V)[0]
然后计算就是
dv = sess.run(DV, feed_dict = {...})
- 传入gradient到tf
假设从tf最后一层是F, F被拷贝到caffe的第一层作为输入。
caffe back-propagate后得到的gradient为 df
定义
W = tf.Variable(...), 和F形状一样。
DummyLoss = tf.tensordot(F, W, axes=[所有axes]) (就是向量内积)
然后优化minimize DummyLoss,feed_dict加入{W: df}.
DummyLoss对F求导,正好就是W.
Caffe 应该也类似。
等我起个github project演示一下看能不能搞出来。我觉得最大的问题是如何让caffe
和TF都跑起来。

【在 w*****r 的大作中提到】
: 两个神经网络是用不同的framework写的,想把一个网络的中间结构作为输出,接到另
: 一个网络作为输入。然后,对于这个嫁接后的网络,做end-to-end的训练。也就是说梯
: 度需要从一个framework,如caffe,propagate到另一个framwork,如tensorflow。
: google search了一下午,还没有什么头绪,谢谢指路!

w***g
发帖数: 5958
3
我给你搞粗来了 https://github.com/aaalgo/nngraft
caffe嫁接到tf上,tf嫁接上caffe上,花式训练。

【在 w*****r 的大作中提到】
: 两个神经网络是用不同的framework写的,想把一个网络的中间结构作为输出,接到另
: 一个网络作为输入。然后,对于这个嫁接后的网络,做end-to-end的训练。也就是说梯
: 度需要从一个framework,如caffe,propagate到另一个framwork,如tensorflow。
: google search了一下午,还没有什么头绪,谢谢指路!

j*******h
发帖数: 1
4
还不如重新用tf实现caffe部分。

【在 w***g 的大作中提到】
: 我给你搞粗来了 https://github.com/aaalgo/nngraft
: caffe嫁接到tf上,tf嫁接上caffe上,花式训练。

m****o
发帖数: 182
5
我觉得最快的办法是把两个结构用tf或者pytorch再实现一遍,然后再传入参数训练。

【在 w*****r 的大作中提到】
: 两个神经网络是用不同的framework写的,想把一个网络的中间结构作为输出,接到另
: 一个网络作为输入。然后,对于这个嫁接后的网络,做end-to-end的训练。也就是说梯
: 度需要从一个framework,如caffe,propagate到另一个framwork,如tensorflow。
: google search了一下午,还没有什么头绪,谢谢指路!

w***g
发帖数: 5958
6
同意。不过这个想法太星宿派了,我忍不住要实现一下。

【在 m****o 的大作中提到】
: 我觉得最快的办法是把两个结构用tf或者pytorch再实现一遍,然后再传入参数训练。
w*****r
发帖数: 197
7
此法属黑暗技能,专用于从github上caffe的野鸡fork中吸取内力。。。

【在 m****o 的大作中提到】
: 我觉得最快的办法是把两个结构用tf或者pytorch再实现一遍,然后再传入参数训练。
w*****r
发帖数: 197
8
学习了你的的代码,牛逼。。。
# tensorflow part, like caffe_tf.py, forward pass is wasted
_, dx = sess.run([tf_net.optimizer, tf_net.dX],
feed_dict = {tf_net.X: x, # 如过不feed新的x,tf能跑吗?会只做backforward运算
吗?
tf_net.dL1: dl1})

【在 w***g 的大作中提到】
: 我给你搞粗来了 https://github.com/aaalgo/nngraft
: caffe嫁接到tf上,tf嫁接上caffe上,花式训练。

w*****r
发帖数: 197
9
这可是集深学之大成的招式啊~~~
你现在不用拿大量数据做训练,就可以用到原版的大网络了,横扫个把tier 2的
leaderboard估计是没问题了

【在 w***g 的大作中提到】
: 同意。不过这个想法太星宿派了,我忍不住要实现一下。
w***g
发帖数: 5958
10
应该不能这么搞。
拆开后第一次forward需要浪费掉,tf和caffe是一样的。
原因是不知道forward产生的结果哪些在backward里会用,不知道这些结果里面哪些
是保存在session状态里的,哪些需要人为导出。
我对这两个轮子的理解没到能重用第一次forward结果的地步。

【在 w*****r 的大作中提到】
: 学习了你的的代码,牛逼。。。
: # tensorflow part, like caffe_tf.py, forward pass is wasted
: _, dx = sess.run([tf_net.optimizer, tf_net.dX],
: feed_dict = {tf_net.X: x, # 如过不feed新的x,tf能跑吗?会只做backforward运算
: 吗?
: tf_net.dL1: dl1})

g****t
发帖数: 31659
11
一次嫁接成功后,你打开了多次嫁接的黑暗之门。
T网络,G网络
可以画图:
T1-G2-T2-。。。

【在 w***g 的大作中提到】
: 同意。不过这个想法太星宿派了,我忍不住要实现一下。
m****o
发帖数: 182
12
onnx/onnx就是干这个事的吧?

【在 w***g 的大作中提到】
: 同意。不过这个想法太星宿派了,我忍不住要实现一下。
1 (共1页)
进入Programming版参与讨论
相关主题
请教一个c++ map问题亚麻决定支持mxnet
Visual C++ 高手帮忙,一个Link Error被docker气死了
做web服务的语言tensorflow基本上就石狗家的闲的无所事事的储备军搞的东西
JavaScript is eating the world, JSON is replacing xml.胡扯几句什么叫Deep Learning入门
没人讨论狗家最新开源的tensorflow?感觉版上大都搞ML, DL
caffe等CNN里面convolution和relu是分开的两层?xeon phi就是翔啊
妈的怎么那么多鸡毛语言/软件问个BT问题 :)(c )
Hinton的capsule理论是不是证明是伪科学了?newbie python question
相关话题的讨论汇总
话题: tf话题: caffe话题: 网络话题: 嫁接话题: onnx