小编Vla*_*oiu的帖子

Tensorflow获取范围内的所有变量

我在某个范围内创建了一些变量,如下所示:

with tf.variable_scope("my_scope"):
  createSomeVariables()
  ...
Run Code Online (Sandbox Code Playgroud)

然后我想获取"my_scope"中所有变量的列表,这样我就可以将它传递给优化器.这样做的正确方法是什么?

tensorflow

40
推荐指数
2
解决办法
6万
查看次数

在tensorflow中多次运行train op

我有一些相当大的批量大小,我想采取多个渐变步骤.虽然我可以使用python for循环轻松完成此操作,但我想可能有一个更有效的方法,不涉及在每次迭代时将数据传输到gpu.我已经尝试将列车操作多次放入获取列表中,但我不确定它实际上是多次运行(运行时完全相同).

tensorflow

6
推荐指数
1
解决办法
5266
查看次数

删除 setup.py 中的所有默认编译器参数

我正在使用 distutils 构建一个扩展模块,不幸的是,它使用一堆我不想要的参数调用编译器。具体来说,它使用CFLAGS/usr/lib64/python2.7/config/Makefile 中定义的变量,该变量也由

>>> from distutils import sysconfig
>>> print(sysconfig.get_config_vars()['CFLAGS'])
-fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4  -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv   -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4  -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv
Run Code Online (Sandbox Code Playgroud)

这个问题的答案是行不通的;CFLAGS=""从命令行设置会导致 gcc 被调用

-DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv
Run Code Online (Sandbox Code Playgroud)

好像OPTmakefile中为空,但实际上设置OPT=""没有效果。有什么方法可以告诉 distutils 不要添加这些标志吗?我知道我可以通过添加自己的标志来覆盖其中的大部分(手动取消定义宏,如-DNDEBUGwith-UNDEBUG和覆盖-O2with -O0),但这真的很丑陋,肯定应该有更好的方法。

c++ python distutils build

5
推荐指数
1
解决办法
1944
查看次数

为什么这个类型类只用"-XNoMonomorphismRestriction"编译?

我一直在得到一些奇怪的类型类错误,形式为"没有实例(测试a0)来自表达式类型签名".这是我能提出的最简单的违规代码版本:

class Test a where
  test :: a

foo = test
Run Code Online (Sandbox Code Playgroud)

添加类型没有帮助:

foo = test :: Test a => a
Run Code Online (Sandbox Code Playgroud)

但是,添加Test实例会使其编译:

instance Test Int where
  test = 0
Run Code Online (Sandbox Code Playgroud)

这不是真的可以接受,因为我想在其他地方宣布我的实例.

最后,传递-XNoMonomorphismRestriction给ghc(i)也允许它编译.虽然现在已经足够好了,但我不明白这个扩展的作用是什么,为什么有必要,或潜在的缺点.

haskell typeclass

4
推荐指数
1
解决办法
157
查看次数

重新加载张量流模型

我有两个独立的tensorflow进程,一个是训练模型并写出graph_def tensorflow.python.client.graph_util.convert_variables_to_constants,另一个是读取graph_def tensorflow.import_graph_def.我希望第二个进程在第一个进程更新时定期重新加载graph_def.不幸的是,即使我关闭当前会话并创建一个新会话,似乎每次我读取graph_def仍会使用旧的.我也曾尝试包裹import_graph_def callsess.graph.as_default(),但没有成功.这是我当前的graph_def加载代码:

if self.sess is not None:
    self.sess.close()
self.sess = tf.Session()

graph_def = tf.GraphDef()
with open(self.graph_path, 'rb') as f:
    graph_def.ParseFromString(f.read())
with self.sess.graph.as_default():
    tf.import_graph_def(graph_def, name='')
Run Code Online (Sandbox Code Playgroud)

tensorflow

1
推荐指数
1
解决办法
1702
查看次数

标签 统计

tensorflow ×3

build ×1

c++ ×1

distutils ×1

haskell ×1

python ×1

typeclass ×1