小编Fla*_*bou的帖子

Keras Lambda层和变量:“ TypeError:无法腌制_thread.lock对象”

使用lambda层和共享变量时,我无法保存keras模型。这是给出此错误的最少代码:

# General imports.
import numpy as np

# Keras for deep learning.
from keras.layers.core import Dense,Lambda
from keras.layers import Input
from keras.models import Model
import keras.backend as K

n_inputs = 20
n_instances = 100

def preprocess(X,minimum,span):
    output = (X - minimum)/span
    return output

inputs = Input(shape=(n_inputs,),name='input_tensor')
maximum = K.max(inputs)
minimum = K.min(inputs)
span = maximum - minimum

x = Lambda(preprocess,arguments={'minimum':minimum,'span':span})(inputs)
x = Dense(units=100,activation='elu')(x)
outputs = Dense(units=n_inputs,activation='elu')(x)

model = Model(inputs=inputs,outputs=outputs)
model.compile(optimizer='adam', loss='mse')

x = np.array([np.random.randn(20) for i in range(n_instances)])
y …
Run Code Online (Sandbox Code Playgroud)

python lambda machine-learning keras tensorflow

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

如何创建一个返回另一个函数的函数,在C中隐式包含给定参数?

我希望有一个函数可以返回带参数调用的函数,即使原始函数必须参数调用也是如此。该参数将传递给第一个函数,并且每次调用返回的函数时都将隐式使用该参数。

我知道C中的函数指针,但不知道是否可以这种方式使用它们。我知道如何在python中执行此操作,如以下示例代码所示:

def foo(some_argument):
    print(some_argument)

def register_callback(function, argument):
    def new_function():
        function(argument)

    return new_function

bar = register_callback(foo,"bar")

bar()
Run Code Online (Sandbox Code Playgroud)

据我了解,在C语言中这种方法是不可能的,因为我们不能嵌套函数定义。这是可能的,如果可以的话,这样做的正确方法是什么?

c closures function-pointers

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