我需要通过扫描多次执行theano函数,以便总结成本函数并在梯度计算中使用它.我熟悉这方面的深度学习教程,但是我的数据切片和其他一些复杂性意味着我需要做一些不同的事情.下面是我正在尝试做的简化版本..
tn = testnet()
cost = tn.single_cost( )
x = theano.shared(numpy.asarray([7.1,2.2,3.4], dtype='float32'))
index = T.lscalar('index')
test_fn = theano.function(inputs=[index], outputs=cost,
givens={tn.x:x[index:index+1]} )
def step(curr):
return T.constant( test_fn( curr ) )
outs,_ = theano.scan(step, T.arange(2))
out_fn = theano.function(inputs=[], outputs=outs)
print out_fn()
Run Code Online (Sandbox Code Playgroud)
在scan函数中,对test_fn(curr)的调用给出了错误...期望一个类似于数组的对象,但是找到了一个变量:也许你试图在一个(可能是共享的)变量而不是数字上调用一个函数阵列?')
即使我传入一个值数组而不是将T.arrange(2)放到位,我仍然会得到相同的错误.有没有理由你不能通过扫描调用函数?
一般来说,我想知道是否有办法用一系列索引调用这样的函数,以便输出可以输入T.grad()计算(未显示).
我有一堆使用 Keras 编写的代码,它们作为单独的 pip install 安装,并且导入语句写成from keras.models import Sequential
,等等。
在一台新机器上,我安装了 Tensorflow,它现在在contrib目录中包含了 Keras 。为了保持版本一致,我认为最好使用contrib 中的内容而不是单独安装 Keras,但这会导致一些导入问题。
我可以使用导入 Kerasimport tensorflow.contrib.keras as keras
但做一些类似from tensorflow.contrib.keras.models import Sequential
给出ImportError: No module named models 的操作,并from keras.models import Sequential
给出类似的ImportError: No module named keras.models。
有没有一种简单的方法可以使from x.y import z
语句起作用?如果不是,则意味着更改所有实例以使用详细命名(即.. m1 = keras.models.Sequential()
),这不是我的首选语法,但可行。
我正在尝试使用 Sparql (通过在线端点)在维基数据中进行模糊(即部分或不区分大小写)实体标签查找。不幸的是,这些返回一个“ QueryTimeoutException:查询截止日期已过期。 ”我假设这是因为查询返回太多结果,无法在维基数据的 1 分钟超时中运行过滤器。
具体查询如下:
def findByFuzzyLabel(self, item_label):
qstring = '''
SELECT ?item WHERE {
?item rdfs:label ?label .
FILTER( lcase(str(?label)) = "%s")
}
LIMIT 20
''' % (item_label)
results = self.query(qstring)
Run Code Online (Sandbox Code Playgroud)
有没有办法在维基数据的实体标签上进行部分字符串和/或不区分大小写的标签查找,或者我需要在下载原始数据时离线执行此操作?
我希望将“Lindbergh”等标签与“Charles Lindbergh”相匹配,并在某些情况下处理不区分大小写的问题。任何关于如何做到这一点的建议,无论是通过 Sparql 还是在 Python 中离线,都值得赞赏。