Являются & ldquo; tf.nn.relu (A) & rdquo; и & ldquo; tf.maximum (A, 0) & rdquo; тот же самый?

Если производительность важна, переходите к уровню numpy:

import numpy as np

df = pd.DataFrame( {'a':np.random.randint(0,60,600), 'b':[1,2,5,5,4,6]*100})

def f(df):
         keys,values=df.sort_values('a').values.T
         ukeys,index=np.unique(keys,True)
         arrays=np.split(values,index[1:])
         df2=pd.DataFrame({'a':ukeys,'b':[list(a) for a in arrays]})
         return df2

Тесты:

In [301]: %timeit f(df)
1000 loops, best of 3: 1.64 ms per loop

In [302]: %timeit df.groupby('a')['b'].apply(list)
100 loops, best of 3: 5.26 ms per loop
0
задан ddjfjfj djfiejdn 16 January 2019 в 18:53
поделиться

1 ответ

Как только relu определено как:

max(features, 0)

, они в основном одинаковы. Оба принимают тензор в качестве входных данных и возвращают тензор. Разница лишь в поддерживаемых типах.

tf.nn.relu поддерживает следующие типы:

  • float32, float64, int32, uint8, int16, int8, int64, [ 119], uint16, half, uint32, uint64, qint8

, а tf.maximum поддерживает подмножество вышеуказанных типов:

    [ 1122] half, float32, float64, int32, int64
0
ответ дан Hemerson Tacon 16 January 2019 в 18:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: