将tensorflow中函数转化为正常函数

将一个队Tensor定义的函数装换成一个队numpy.ndarray定义的函数。

<21个项目玩转tensorflow>,P82

def tffunc(*argtypes):
    placeholders = list(map(tf.placeholder, argtypes))
    def wrap(f):
        out = f(*placeholders)
        def wrapper(*args, **kw):
            return out.eval(dict(zip(placeholders, args)), ession=kw.get('session'))
        return wrapper
    return wrap

def lap_normalize(img, scale_n=4):
    img = tf.expand_dims(img, 0)
    tlevels = lap_split_n(img, scale_n)
    # 每一层都做一次normalize_std
    tlevels = list(map(normalize_std, tlevels))
    out = lap_merge(tlevels)
    return out[0, :, :, :]

lap_norm_func = tffunc(np.float32)(partial(lap_normalize, scale_n=lap_n))

猜你喜欢

转载自blog.csdn.net/qq_39124762/article/details/82945211
今日推荐