Importing Modules for RNN LSTM example

YingTing


1  from __future__ import absolute_import
2  from __future__ import division
3  from __future__ import print_function
4
5  import time
6
7  import numpy as np
8  import tensorflow as tf
9
10 import reader
11 import util
12
13 from tensorflow.python.client import device_lib

以上程式將模組 (module) 匯入程式中。

模組 (module) 包含absolute_import, division, print_function, time, numpy, tensorflow, reader, util, device_lib。

有三種方式將模組 (module) 匯入程式中。

第一種是在第1~3行,從python 3版本匯入模組: from __future__ import + modulename

我們使用的是python 3版本, python 3環境自動將匯入module (absolute_import, division, print_function)。

所以程式

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

將會被 python 3 環境下的直譯器(interpreter)忽略。因此這三行程式在 python 3 環境是多餘的。

如果是在python 2 版本,便沒有自動匯入module (absolute_import, division, print_function)。

便須使用from __future__ import + modulename的方式匯入python 3版本的module。

另一種是在第5~11行import+ modulename,其中第7, 8行用到的 "as" 語法,是將原本的模組 (numpy, tensorflow) 自行命名 (np, tf)。後面程式呼叫 numpy 或 tensorflow 模組時,可直接用 np, tf 代替。

第三種是在第12行 from tensorflow.python.client + modulename。

'client'是'python'的一個class, 'python'是'tensorflow'的一個class。

__future__ 只會在 python 2 版本使用。

表示要 import 進來的 module (absolute_import, division, print_function) 是新版 python 3 的版本

results matching ""

    No results matching ""