代码如下:
input_tensor = Input(shape=(64,))
x = layers.Dense(32, activation='relu')(input_tensor)
给个关键字我去查一下也是好的^_^
这种函数式语言对 java 程序员太不友好了~~~
1
mx1700 2018-01-11 21:54:25 +08:00 via Android
因为函数的返回值还是个函数
|
2
whow 2018-01-11 23:39:27 +08:00 1
柯里化
|
3
azh7138m 2018-01-12 08:52:57 +08:00 via Android
1 楼正解
返回值是个函数 |
4
XIVN1987 2018-01-12 09:14:27 +08:00
python 里不光函数能调用,callable 的对象也能像函数那样调用
对象想要 callable,只需要它的类实现__call__()方法即可,,这样 objectA()就相当于 objectA.__call__() |
5
mooncakejs 2018-01-12 09:30:11 +08:00 via iPhone
JAVA 也能这么用的
|
6
NaVient 2018-01-12 10:14:44 +08:00
Java 也能这么用的
|
7
winglight2016 OP @whow 难怪觉得有点眼熟,scala 里面就是这样的
@mooncakejs @NaVient java 怎么这样用的?根本不支持函数式啊,lambda 不能算吧 @XIVN1987 哦呵呵,明白了 @mx1700 感谢大佬,我后来想了想,只能这样解释了 |
8
hcnhcn012 2018-01-12 12:21:39 +08:00 via iPhone
Dence 可能是一个闭包结构,返回的是内层函数的引用,再加一个括号就形成内层函数的调用
|
9
ryd994 2018-01-12 12:46:05 +08:00 via Android
|
10
winglight2016 OP @ryd994 克里化效果跟这个是一样的,也是返回一个函数来处理后面的参数
|
13
quinoa42 2018-01-14 06:08:38 +08:00 via Android
@ryd994 传入一个参数返回一个函数(这个函数再传入一个函数可以返回一个函数或返回结果)这样的过程就是 curry,无非有的语言有语法糖支持(比如 ML 系直接 fun a b c,racket 的(define (((f x) y) z)...)等等)有的语言没有罢了
当然没有语法糖支持的语言里用 curry 很蛋疼就是了… |
14
ryd994 2018-01-14 10:39:44 +08:00 via Android
@quinoa42 wiki:In mathematics and computer science, currying is the technique of translating the evaluation of a function that takes multiple arguments (or a tuple of arguments) into evaluating a sequence of functions, each with a single argument. Currying is related to, but not the same as, partial application.
函数返回函数那叫 metaprogramming |