2017-02-05 16 views
4

テンソルフロー/モデル/スリム/ネットでは、相対スニペットのリンクはvggです。私はslim.nets.vggがfully_connectedレイヤの代わりにconv2dを使用する理由について興味がありますが、実際には同じ方法で動作しますか?スピードの目的ですか? 私はいくつかの説明を感謝します。ありがとう!なぜslim.nets.vggは完全接続されたレイヤの代わりにconv2dを使用しますか?

+0

はい、これはスリムなソースにあります。「注:完全に接続されたすべてのレイヤーは、変換されたレイヤーに変換されました」。私はなぜあまりにも不思議だった... – eggie5

答えて

0

しばらくすると、間違いの重みを変えるのを避けることができるという理由が少なくとも1つはあると思います。

他の高レベルライブラリと同じように、テンソル形式ではテンソル形式がデフォルトのBHWC(バッチサイズ、高さ、幅、チャネル以下同じ)またはBCHW(パフォーマンス向上のため)のいずれかのフォーマットが可能です。

これら二つのフォーマットの間の加重値を変換する場合、重み最初のFCの[in_channel, out_channel](CONV層の後に完全に接続された層が、)例えば[last_conv_channel, height, width, out_channel]に整形されなければならない、次に[height, width, last_conv_channel, out_channel]に転置と[in_channel, out_channel]再び整形。

完全に接続された重みではなく、conv重みを使用すると、そのような変換はfc層に明示的に適用されます(実際に重み付けされます)。確かに間違いの変換を避けるでしょう。

関連する問題