63812


タイトルについて、`numpy` を `np` とするような、"皆そうやっているからわかりやすいが、特に正当性はない略"
に過ぎないと思っていたのですが、ドキュメントには [Module:
tf](https://www.tensorflow.org/api_docs/python/tf?hl=ja) 、
[tf.keras.Sequential](https://www.tensorflow.org/api_docs/python/tf/keras/Sequential?hl=ja)
などとあり、あたかも`tf`が正式名であるかのようです。  
しかし実際は `import tensorflow as tf` としなければ、モジュール tf が見つからない、とエラーが出ます。  
単に筆者が横着or勘違いしただけでしょうか、それともなにか tensorflow ではなく tf と書くべき特別な意味があるのでしょうか

* * *

追記  
少し質問を変えてみます  
`pip install hoge` した結果 `hg` というモジュールが使用可能になることはあり得ない、だからドキュメント中の `hg` は
`hoge` の事だろう、という推測は可能ですか。


CC BY-SA 4.0
2020-03-13T11:34:22.473
63811
2020-03-15T14:56:33.970
2020-03-13T23:56:47.477
20885
20885
question
python tensorflow
tensorflow の tf になにか特別な意味がある？


**Q. tf に意味がありますか？**

私の知る限り、特別な意味は無いです。単に慣習的なものです。その慣習と同じ語法を使ってドキュメントが書かれていても、特に不思議ではないです。TensorFlow
の内部コードでも [tf や TF
といった略称は使われています](https://github.com/tensorflow/tensorflow/search?q=tf&type=Code)し、勘違いと言うのは言い過ぎでしょう。

**Q.`tf` を import したいとき、その完全なパッケージ名を知る方法はありますか？**

ドキュメントを読んでください。TensorFlow のドキュメントではトップページに `pip install tensorflow`
でインストールできるプロジェクトであると書かれていますし、チュートリアルに `import tensorflow as tf` と書かれています。

Python 一般の場合 [PEP 423](https://legacy.python.org/dev/peps/pep-0423/#use-a-
single-name) で「プロジェクト名とパッケージ名は一緒にしてね」と決められているので、これが守られている限り `pip install XXX`
が成功すると import できるようになるパッケージの名前は `XXX` です。一方で PEP 423
の注意書きにも書かれているとおり、歴史的経緯によりそうなっていないプロジェクトもあります。このためいつでも使える戦略としては「ドキュメントをちゃんと読む」「不安ならソースコードも読む」になるでしょう。


CC BY-SA 4.0
2020-03-13T13:23:10.123
63812
2020-03-15T14:56:33.970
2020-03-15T14:56:33.970
19110
19110
63811
answer