Tensorflow 2.0 - विशेषता: मॉड्यूल: 'Tenorflow' में कोई विशेषता नहीं है 'सत्र'


131

जब मैं sess = tf.Session()Tensorflow 2.0 वातावरण में कमांड निष्पादित कर रहा हूं, तो मुझे नीचे के रूप में एक त्रुटि संदेश मिल रहा है:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'tensorflow' has no attribute 'Session'

प्रणाली की जानकारी:

  • ओएस प्लेटफॉर्म और वितरण: विंडोज 10
  • पायथन संस्करण: 3.7.1
  • Tensorflow संस्करण: 2.0.0-Alpha0 (पाइप के साथ स्थापित)

प्रजनन करने कि प्रक्रिया:

स्थापना:

  1. पाइप स्थापित करें - नवीनीकरण पाइप
  2. पाइप स्थापित टेंसरफ़्लो == 2.0.0-अल्फा 0
  3. पाइप स्थापित करें
  4. पाइप स्थापित सुन्न == 1.16.2

निष्पादन:

  1. निष्पादित कमांड: tf के रूप में आयात करें
  2. निष्पादित आदेश: sess = tf.Session ()

अजीब। मुझे लगता है कि यह टीएफ संस्करण के कारण नहीं है, लेकिन पूरा टीएफ इंस्टॉलेशन टूट गया है। देखें github.com/tensorflow/tensorflow/issues/…
Dmytro Prylipko

5
TensorFlow 2.0 कार्यों के आसपास काम करता है, सत्र नहीं । मुझे लगता है कि प्रारंभिक विचार tf.Sessionकम से कम शुरुआत में रखने के लिए था, लेकिन डॉक्स को देखकर ऐसा लगता है कि यह अंततः पूरी तरह से स्क्रैप हो गया है।
मई

4
ओह, ऐसा लगता है कि आप अभी भी इसके माध्यम से पहुंच सकते हैं tf.compat.v1.Session
जेडेसा

@DmytroPrylipko मैंने इस प्रश्न को बनाने से पहले इसकी कोशिश की। यह मेरे लिए सही नहीं रहा।
अतुल कांबले

जवाबों:


222

के अनुसार TF 1:1 Symbols Map, TF 2.0 में आपको tf.compat.v1.Session()इसके बजाय का उपयोग करना चाहिएtf.Session()

https://docs.google.com/spreadsheets/d/1FLFJLzg7WNP6JHODX5q8BDgptKafq_slHpnHVbJIteQ/edit#gid=0

TF 2.0 में व्यवहार की तरह TF 1.x चलाने के लिए कोई भी दौड़ सकता है

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

लेकिन तब कोई TF 2.0 में किए गए कई सुधारों का लाभ नहीं उठा सकता है। अधिक जानकारी के लिए कृपया माइग्रेशन गाइड https://www.tensorflow.org/guide/migrate देखें


5
उपयोग करने import tensorflow.compat.v1 as tf tf.disable_v2_behavior() से मुझे एक त्रुटि मिलती हैAttributeError: module 'tensorflow_core.compat.v1' has no attribute 'contrib'
GAURAV SRIVASTAVA

1
यह TF 2.0 माइग्रेशन डॉक्यूमेंटेशनIt is still possible to run 1.X code, unmodified (except for contrib), in TensorFlow 2.0
GAURAV SRIVASTAVA

जब आप tensorflow_coreकोई विशेषता त्रुटि प्राप्त करते हैं तो आप किस TF संस्करण का उपयोग कर रहे हैं ?
MP --kalski

मैंने कुछ नोटबुक डाउनलोड की हैं और मैं इन मुद्दों का सामना कर रहा था जो शीर्ष पर आयात किए गए बयान थे जैसा कि उत्तर में उल्लेख किया गया है, मुझे परेशान करने वाली त्रुटि से छुटकारा पाने में मदद मिली।
सिल्टसूडो

मैं .pbTF2 में स्थिर ग्राफ़ का मूल्यांकन कैसे करूँ ? जैसे tf1- फीचर का उपयोग करके tf.compat.v1.Session()। TF2 में आपको हमेशा और न के बराबर उत्सुक मोड का उपयोग करना चाहिए .pb?
आर्टि

55

TF2 डिफ़ॉल्ट रूप से Eager निष्पादन चलाता है, इस प्रकार सत्र की आवश्यकता को हटा देता है। यदि आप स्थैतिक रेखांकन चलाना चाहते हैं, तो tf.function()TF2 में उपयोग करने का अधिक उचित तरीका है । जबकि सत्र अभी भी tf.compat.v1.Session()TF2 के माध्यम से एक्सेस किया जा सकता है , मैं इसका उपयोग करने को हतोत्साहित करूंगा। यह हैलो दुनिया में अंतर की तुलना करके इस अंतर को प्रदर्शित करने में मददगार हो सकता है:

TF1.x हैलो दुनिया:

import tensorflow as tf
msg = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(msg))

TF2.x हैलो दुनिया:

import tensorflow as tf
msg = tf.constant('Hello, TensorFlow!')
tf.print(msg)

अधिक जानकारी के लिए, प्रभावी TensorFlow 2 देखें


1
क्या TF2 में गैर-उत्सुक मोड है? या उत्सुक मोड केवल निष्पादन का सुझाव दिया गया तरीका है? अगर मुझे .pbTF2 में स्टेटिक फ़ाइल चाहिए तो क्या होगा ? क्या यह संभव है? मैं इसका मूल्यांकन TF2 में कैसे करूं?
आर्टि

28

मुझे इस समस्या का सामना करना पड़ा जब मैंने पहली बार स्थापित करने के बाद अजगर की कोशिश की windows10 + python3.7(64bit) + anacconda3 + jupyter notebook.

मैंने " https://vispud.blogspot.com/2019/05/tensorflow200a0-attributeerror-module.html " का हवाला देकर इस समस्या को हल किया।

मैं सहमत हूं

मेरा मानना ​​है कि TF 2.0 के साथ "सत्र ()" हटा दिया गया है।

मैंने दो लाइनें डालीं। एक है tf.compat.v1.disable_eager_execution()और दूसरा हैsess = tf.compat.v1.Session()

मेरा नमस्कार इस प्रकार है:

import tensorflow as tf

tf.compat.v1.disable_eager_execution()

hello = tf.constant('Hello, TensorFlow!')

sess = tf.compat.v1.Session()

print(sess.run(hello))

1
मैं बल्कि कहूंगा कि TF 2.0 Session()में हटा दिया गया है। उपयोग की आवश्यकताSession() को हटा दिया गया है।
MP --kalski

5

के लिए TF2.x, आप इस तरह कर सकते हैं।

import tensorflow as tf
with tf.compat.v1.Session() as sess:
    hello = tf.constant('hello world')
    print(sess.run(hello))

>>> b'hello world


4

इसे इस्तेमाल करे

import tensorflow as tf

tf.compat.v1.disable_eager_execution()

hello = tf.constant('Hello, TensorFlow!')

sess = tf.compat.v1.Session()

print(sess.run(hello))

1
कृपया उत्तर के रूप में एक साधारण कोड पोस्ट न करें। कृपया अपने कार्यान्वयन / उत्तर की व्याख्या करें।
मिलनबलाज

3

यदि यह आपका कोड है, तो इसका सही समाधान इसका उपयोग न करने के लिए फिर से लिखना है Session(), क्योंकि TensorFlow 2 में अब यह आवश्यक नहीं है

यदि यह केवल कोड है जो आप चला रहे हैं, तो आप TensorFlow 1 को चलाकर डाउनग्रेड कर सकते हैं

pip3 install --upgrade --force-reinstall tensorflow-gpu==1.15.0 

(या जो भी TensorFlow 1 का नवीनतम संस्करण है)


बाद 1.15.xकोई दूसरा होना चाहिए 1.xTF के संस्करण है, जब तक कुछ पैच आ जाएगा, लेकिन कोई सुधार।
MP --kalski

1

Tensorflow 2.x समर्थन की डिफ़ॉल्ट रूप से उत्सुक निष्पादन इसलिए सत्र समर्थित नहीं है।


0

एनाकोंडा + स्पाइडर (पायथन 3.7) का उपयोग करना

[कोड]

import tensorflow as tf
valor1 = tf.constant(2)
valor2 = tf.constant(3)
type(valor1)
print(valor1)
soma=valor1+valor2
type(soma)
print(soma)
sess = tf.compat.v1.Session()
with sess:
    print(sess.run(soma))

[सांत्वना]

import tensorflow as tf
valor1 = tf.constant(2)
valor2 = tf.constant(3)
type(valor1)
print(valor1)
soma=valor1+valor2
type(soma)
Tensor("Const_8:0", shape=(), dtype=int32)
Out[18]: tensorflow.python.framework.ops.Tensor

print(soma)
Tensor("add_4:0", shape=(), dtype=int32)

sess = tf.compat.v1.Session()

with sess:
    print(sess.run(soma))
5

0

TF v2.0 EAG मोड को v1.0 के विज़-इन-ग्राफ मोड का समर्थन करता है। इसलिए, v2.0 पर tf.session () समर्थित नहीं है। इसलिए, आपको ईगर मोड में काम करने के लिए अपने कोड को फिर से लिखने का सुझाव देगा।


क्या TF2 गैर-उत्सुक मोड का समर्थन करता है? या गैर-उत्सुक सिर्फ tf1 सुविधा है? फिर मैं .pbtf2 में ग्राफ़ का मूल्यांकन कैसे करूँ ?
आर्टि

0
import tensorflow as tf
sess = tf.Session()

यह कोड 2.x संस्करण पर विशेषता त्रुटि दिखाएगा

संस्करण 2.x में संस्करण 1.x कोड का उपयोग करने के लिए

इसे इस्तेमाल करे

import tensorflow.compat.v1 as tf
sess = tf.Session()
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.