Tensorflow: TF 2.0 'Tensor' κ°μ²΄μ—λŠ” .numpy()λ₯Ό μ‚¬μš©ν•˜λŠ” λ™μ•ˆ 'numpy' 속성이 μ—†μ§€λ§Œ 기본적으둜 μ¦‰μ‹œ 싀행이 ν™œμ„±ν™”λ©λ‹ˆλ‹€.

에 λ§Œλ“  2019λ…„ 04μ›” 04일  Β·  54μ½”λ©˜νŠΈ  Β·  좜처: tensorflow/tensorflow

Eager_execution은 TF 2.0μ—μ„œ 기본적으둜 ν™œμ„±ν™”λ˜μ–΄ μžˆμ§€λ§Œ .numpy()λ₯Ό μ‚¬μš©ν•˜λŠ” λ™μ•ˆ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

TF 1.0에 λŒ€ν•œ ν˜Έν™˜μ„± λͺ¨λ“œμ—μ„œ μ½”λ“œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 점에 μœ μ˜ν•˜μ‹­μ‹œμ˜€.

νŠΉκΈ‰ = [[[ 0, 0, 0],
[4, 71, 141],
[ 0, 0, 0]],

       [[ 83,  25,  85],
        [ 90, 190, 143],
        [  4, 141,  49]],

       [[  0,   0,   0],
        [  4,  71,  49],
        [  0,   0,   0]]]

expt = tf.convert_to_tensor(expt)

μ˜ˆμƒ κ°’ = ext.numpy()

AttributeError: 'Tensor' κ°œμ²΄μ— 'numpy' 속성이 μ—†μŠ΅λ‹ˆλ‹€.

TENSORFLOW 2.0의 CPU ν…ŒμŠ€νŠΈ 버전.

Fixed in Nightly TF 2.0 core awaiting response support

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ‚˜λŠ” 같은 λ¬Έμ œκ°€ μžˆμ—ˆλ‹€. @tf.function λ‚΄μ—μ„œ .numpy()λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄κ°€ μ΄ν•΄ν•˜λŠ” ν•œ tf.function은 μ„±λŠ₯ λͺ©μ μœΌλ‘œ μ—΄μ‹¬νžˆ μ‹€ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. @tf.function λ°μ½”λ ˆμ΄ν„°λ₯Ό μ œκ±°ν•˜λ©΄ .numpy()κ°€ μž‘λ™ν•©λ‹ˆλ‹€.

λͺ¨λ“  54 λŒ“κΈ€

@Mainak431 문제λ₯Ό ν•΄κ²°ν•˜μ…¨λ‚˜μš”?

예.

λ‹Ήμ‹ μ˜ 해결책은 λ¬΄μ—‡μ΄μ—ˆμŠ΅λ‹ˆκΉŒ?

.NumpyλŠ” 열망 λͺ¨λ“œμ—μ„œλ§Œ μ§€μ›λ©λ‹ˆλ‹€. κ·Έλž˜ν”„ λͺ¨λ“œμΈ 경우 μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 당신이 열망 λͺ¨λ“œμ— μžˆλŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•΄. ν•˜μ„Έμš”, tf.eagerly(). true λ˜λŠ” falseλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. κ·Έλž˜ν”„ λͺ¨λ“œμ—μ„œλŠ” μ„Έμ…˜μ—μ„œ eval을 μ‚¬μš©ν•˜μ—¬ numpy λ°°μ—΄μ˜ ν…μ„œ 값을 가져와야 ν•©λ‹ˆλ‹€.

@Mainak431
λͺ¨λ“ˆ 'tensorflow'μ—λŠ” 'μ—΄μ‹¬νžˆ' 속성이 μ—†μŠ΅λ‹ˆλ‹€.
λͺ¨λ“ˆ 'tensorflow.compat.v1'μ—λŠ” 'μ—΄μ‹¬νžˆ' 속성이 μ—†μŠ΅λ‹ˆλ‹€.

tensorflow-gpu==2.0.0-alpha0 νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.
λ‚΄ ν…μ„œ 쀑 ν•˜λ‚˜μ˜ .numpy() 'Tensor' 객체에 'numpy' 속성이 μ—†μŠ΅λ‹ˆλ‹€.

tf.eagerly()λŠ” 'tensorflow' λͺ¨λ“ˆμ— 'μ—΄μ‹¬νžˆ' 속성이 μ—†μŒμ„ μ œκ³΅ν•©λ‹ˆλ‹€.

tf.eagerly() λŒ€μ‹  tf.executing_eagerly()κ°€ λ‚΄κ°€ 열망 λͺ¨λ“œμ— μžˆλŠ”μ§€ ν™•μΈν•˜λŠ” 데 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λˆ„κ΅¬λ“ μ§€ 이에 λŒ€ν•œ 해결책을 μ°Ύμ•˜μŠ΅λ‹ˆκΉŒ?

λ™μΌν•œ λ¬Έμ œκ°€ 여기에 μžˆμŠ΅λ‹ˆλ‹€ ... 열망 λͺ¨λ“œμ—μ„œ keras λͺ¨λΈμ„ ν˜ΈμΆœν•˜κ³  OpenAI Gym에 문제λ₯Ό μΌμœΌν‚€λŠ” EagerTensorκ°€ μ•„λ‹Œ Tensorλ₯Ό μ–»μŠ΅λ‹ˆλ‹€.

이 tf.enable_eager_execution()을 μ‹€ν–‰ν•œ λ‹€μŒ tf.executing_eagerly()λ₯Ό μ‹œλ„ν•˜λ©΄ Trueλ₯Ό μ œκ³΅ν•΄μ•Ό ν•©λ‹ˆλ‹€. 그런 λ‹€μŒ something.numpy()λ₯Ό μ‚¬μš©ν•˜μ—¬ 값을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

@AkashNagaraj 방금 μ½”λ“œκ°€ μ—΄μ‹¬νžˆ μ‹€ν–‰λ˜λŠ” 문제λ₯Ό μ œκΈ°ν–ˆμ§€λ§Œ(TF 2.0μ΄λ―€λ‘œ μ‹€ν–‰ν•΄μ•Ό 함) "numpy λˆ„λ½" λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. ν•œ 번 μ‚΄νŽ΄λ³΄μ‹€λž˜μš”? https://github.com/tensorflow/tensorflow/issues/32842

감사 ν•΄μš”!

λ‚˜λŠ” 같은 λ¬Έμ œκ°€ μžˆμ—ˆλ‹€. @tf.function λ‚΄μ—μ„œ .numpy()λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄κ°€ μ΄ν•΄ν•˜λŠ” ν•œ tf.function은 μ„±λŠ₯ λͺ©μ μœΌλ‘œ μ—΄μ‹¬νžˆ μ‹€ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. @tf.function λ°μ½”λ ˆμ΄ν„°λ₯Ό μ œκ±°ν•˜λ©΄ .numpy()κ°€ μž‘λ™ν•©λ‹ˆλ‹€.

λ‚˜λŠ” 같은 λ¬Έμ œκ°€ μžˆμ—ˆλ‹€. @tf.function λ‚΄μ—μ„œ .numpy()λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄κ°€ μ΄ν•΄ν•˜λŠ” ν•œ tf.function은 μ„±λŠ₯ λͺ©μ μœΌλ‘œ μ—΄μ‹¬νžˆ μ‹€ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. @tf.function λ°μ½”λ ˆμ΄ν„°λ₯Ό μ œκ±°ν•˜λ©΄ .numpy()κ°€ μž‘λ™ν•©λ‹ˆλ‹€.

이것은 λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•©λ‹ˆλ‹€. @tf.function은 전체 κΈ°λŠ₯을 κ·Έλž˜ν”„ λͺ¨λ“œλ‘œ μ „ν™˜ν–ˆμŠ΅λ‹ˆλ‹€.

이 μŠ€λ ˆλ“œμ— μ–ΈκΈ‰λœ 단일 μ†”λ£¨μ…˜μ΄ μ—†λŠ” 이유 =.=

λ‚΄ ν•¨μˆ˜μ—λŠ” λ°μ½”λ ˆμ΄ν„°κ°€ μ—†μ§€λ§Œ 이전 ν¬μŠ€ν„°μ—μ„œ μ„€λͺ…ν•œ λŒ€λ‘œ .numpy()λŠ” μ—¬μ „νžˆ μ‹€νŒ¨ν•©λ‹ˆλ‹€. λˆ„κ΅¬λ“ μ§€ 이것에 λŒ€ν•œ 해결책을 μ°Ύμ•˜μŠ΅λ‹ˆκΉŒ?

슀크립트 상단에 tf.compat.v1.enable_eager_execution()을 μ‚½μž…ν•œ ν›„ λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŒμ„ λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€(이전 ν¬μŠ€ν„°μ—μ„œ λ§ν•œ 것과 맀우 μœ μ‚¬ν•˜μ§€λ§Œ TF 2.0μ—μ„œ μž‘λ™ν•¨)...

λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν•˜κ³  μ•žμ„œ μ–ΈκΈ‰ν•œ μ†”λ£¨μ…˜ 쀑 μ–΄λŠ 것도 νš¨κ³Όκ°€ μ—†μ—ˆμŠ΅λ‹ˆλ‹€.

TF 2.0을 μ‚¬μš©ν•˜κ³  μžˆλŠ”λ° λ‚΄ ν•¨μˆ˜μ— λ°μ½”λ ˆμ΄ν„°κ°€ μ—†κ³  tf.eagerly()κ°€ Trueλ₯Ό λ°˜ν™˜ν•˜μ§€λ§Œ μ—¬μ „νžˆ λ™μΌν•œ AttributeError: 'Tensor' 객체에 'numpy' 속성이 μ—†μŠ΅λ‹ˆλ‹€.

같은 문제.

λ‚˜λŠ” μ—΄μ‹¬νžˆ μ‹€ν–‰ν•˜κ³  μžˆμ—ˆκ³  λ‚΄ μ‚¬μš©μž μ •μ˜ 손싀 ν•¨μˆ˜μ— λ°μ½”λ ˆμ΄ν„°κ°€ μ—†λŠ”μ§€ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” λ˜ν•œ μž‘λ™ν•˜μ§€ μ•ŠλŠ” Michael의 μ†”λ£¨μ…˜ 두 가지 μ˜κ²¬μ„ μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€.

였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. AttributeError: 'Tensor' κ°œμ²΄μ— 'numpy' 속성이 μ—†μŠ΅λ‹ˆλ‹€.

이 였λ₯˜λŠ” λͺ¨λΈ ν”ΌνŒ… 쀑에 ν…μ„œλ₯Ό numpy둜 λ³€ν™˜ν•˜λ €κ³  ν•  λ•Œλ§Œ λ‚˜νƒ€λ‚˜λŠ” κ²ƒμœΌλ‘œ λ‚˜νƒ€λ‚¬μŠ΅λ‹ˆλ‹€. κ°€μž₯ 쒋은 좔츑은 λͺ¨μ–‘ 문제인 것 κ°™μŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ λ‹€μŒ ν…μ„œλŠ”

tf.Tensor([[1 3] [0 4]], λͺ¨μ–‘=(2, 2), dtype=int64)

.numpy()λ₯Ό μ‚¬μš©ν•˜μ—¬ λ³€ν™˜ κ°€λŠ₯ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λΆ„λ₯˜ λ¬Έμ œμ— λŒ€ν•œ μ‚¬μš©μž 지정 λ©”νŠΈλ¦­μ„ κ΅¬ν˜„ν•˜λ €κ³  ν•  λ•Œ y_true.numpy() 및 y_pred.numpy() λͺ¨λ‘

AttributeError: 'Tensor' κ°œμ²΄μ— 'numpy' 속성이 μ—†μŠ΅λ‹ˆλ‹€.

λ‹€μŒμ€ 두 y의 ν•œ μ˜ˆμž…λ‹ˆλ‹€.

y_true:
print(y_true): ν…μ„œ("dense_ target:0 ", λͺ¨μ–‘=(μ—†μŒ, μ—†μŒ, μ—†μŒ), dtype=float32)
인쇄(μœ ν˜•(y_true)):

y_pred:
print(y_pred): Tensor("dense/ Identity:0 ", shape=(None, None, 6), dtype=float32)
인쇄(μœ ν˜•(μ˜ˆμƒ)):

@renatomello 저도 λ‹Ήμ‹ κ³Ό 같은 문제λ₯Ό κ²ͺκ³  μžˆμŠ΅λ‹ˆλ‹€. μƒˆ 문제 #35393을 μ—΄μ—ˆμŠ΅λ‹ˆλ‹€.

@renatomello μ‚¬μš©μž 지정 λ©”νŠΈλ¦­μ„ κ΅¬ν˜„ν•˜λ €κ³  ν•  λ•Œ λ¬Έμ œκ°€ μ—¬μ „νžˆ μ§€μ†λ©λ‹ˆλ‹€. ν•΄κ²° 방법을 μ°Ύμ•˜μŠ΅λ‹ˆκΉŒ?

@renatomello μ‚¬μš©μž 지정 λ©”νŠΈλ¦­μ„ κ΅¬ν˜„ν•˜λ €κ³  ν•  λ•Œ λ¬Έμ œκ°€ μ—¬μ „νžˆ μ§€μ†λ©λ‹ˆλ‹€. ν•΄κ²° 방법을 μ°Ύμ•˜μŠ΅λ‹ˆκΉŒ?

μ•„λ‹ˆμš” λ‚˜λŠ” μ•ˆ κ·Έλž¬μ–΄μš”. λ‚΄κ°€ μž‘μ—…ν•  수 μžˆλŠ” 것과 μœ μ‚¬ν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” TF/Keras λ°±μ—”λ“œ κΈ°λŠ₯이 μžˆλŠ”μ§€ ν™•μΈν•˜λ €κ³  ν•©λ‹ˆλ‹€. 그렇지 μ•ŠμœΌλ©΄ λ‚΄κ°€ 직접 λ§Œλ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€.

데이터 μ „μ²˜λ¦¬ λ‚΄μ—μ„œ μ •κ·œμ‹ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•  λ•Œ 이 μ˜μ—­μ΄ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. 파이썬 λ‘œμ§μ„ μ‚¬μš©ν•˜λ €λ©΄ λ¬Έμ„œ 와 이 StackOverflow μŠ€λ ˆλ“œμ— μ–ΈκΈ‰λœ λŒ€λ‘œ tf.py_function λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€ (μ°Έκ³  tf.py_func() λŠ” 이제 tf.py_function() ).

일단 λ‚΄ μ½”λ“œλ₯Ό λ‹€μŒμ—μ„œ λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€.
data = fnames.map(process_path)
μ—κ²Œ
data = fnames.map(lambda x: tf.py_function(process_path, [x], [tf.string]))
μ½”λ“œκ°€ μ˜¬λ°”λ₯΄κ²Œ μ‹€ν–‰λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

맀우 μ‚¬μš©μž μ •μ˜λœ split μ‚¬μš©ν•˜μ—¬ TF2.1μ—μ„œ TextVectorization λ ˆμ΄μ–΄λ₯Ό μ‹œλ„ν•˜λŠ” λ™μ•ˆ 이 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λ₯Ό μœ„ν•΄ 그것을 고친 것은 dynamic=True λ₯Ό TextVectorization ꡬ쑰둜 μ „λ‹¬ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

이 였λ₯˜λŠ” λͺ¨λΈ ν”ΌνŒ… 쀑에 ν…μ„œλ₯Ό numpy둜 λ³€ν™˜ν•˜λ €κ³  ν•  λ•Œλ§Œ λ‚˜νƒ€λ‚˜λŠ” κ²ƒμœΌλ‘œ λ‚˜νƒ€λ‚¬μŠ΅λ‹ˆλ‹€. κ°€μž₯ 쒋은 좔츑은 λͺ¨μ–‘ 문제인 것 κ°™μŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ λ‹€μŒ ν…μ„œλŠ”

tf.Tensor([[1 3] [0 4]], λͺ¨μ–‘=(2, 2), dtype=int64)

.numpy()λ₯Ό μ‚¬μš©ν•˜μ—¬ λ³€ν™˜ κ°€λŠ₯ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λΆ„λ₯˜ λ¬Έμ œμ— λŒ€ν•œ μ‚¬μš©μž 지정 λ©”νŠΈλ¦­μ„ κ΅¬ν˜„ν•˜λ €κ³  ν•  λ•Œ y_true.numpy() 및 y_pred.numpy() λͺ¨λ‘

AttributeError: 'Tensor' κ°œμ²΄μ— 'numpy' 속성이 μ—†μŠ΅λ‹ˆλ‹€.

λ‹€μŒμ€ 두 y의 ν•œ μ˜ˆμž…λ‹ˆλ‹€.

y_true:
print(y_true): ν…μ„œ("dense_ target:0 ", λͺ¨μ–‘=(μ—†μŒ, μ—†μŒ, μ—†μŒ), dtype=float32)
인쇄(μœ ν˜•(y_true)):

y_pred:
print(y_pred): Tensor("dense/ Identity:0 ", shape=(None, None, 6), dtype=float32)
인쇄(μœ ν˜•(μ˜ˆμƒ)):

이유λ₯Ό λͺ¨λ₯΄μ§€λ§Œ λ‹€μŒμ„ μΆ”κ°€ν•˜μ—¬ μ΄λŸ¬ν•œ 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.
experimental_run_tf_function=False
λ‚΄ λͺ¨λΈμ˜ 컴파일 κΈ°λŠ₯μ—μ„œ.

이 였λ₯˜λŠ” λͺ¨λΈ ν”ΌνŒ… 쀑에 ν…μ„œλ₯Ό numpy둜 λ³€ν™˜ν•˜λ €κ³  ν•  λ•Œλ§Œ λ‚˜νƒ€λ‚˜λŠ” κ²ƒμœΌλ‘œ λ‚˜νƒ€λ‚¬μŠ΅λ‹ˆλ‹€. κ°€μž₯ 쒋은 좔츑은 λͺ¨μ–‘ 문제인 것 κ°™μŠ΅λ‹ˆλ‹€.
예λ₯Ό λ“€μ–΄ λ‹€μŒ ν…μ„œλŠ”

tf.Tensor([[1 3] [0 4]], λͺ¨μ–‘=(2, 2), dtype=int64)
.numpy()λ₯Ό μ‚¬μš©ν•˜μ—¬ λ³€ν™˜ κ°€λŠ₯ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λΆ„λ₯˜ λ¬Έμ œμ— λŒ€ν•œ μ‚¬μš©μž 지정 λ©”νŠΈλ¦­μ„ κ΅¬ν˜„ν•˜λ €κ³  ν•  λ•Œ y_true.numpy() 및 y_pred.numpy() λͺ¨λ‘
AttributeError: 'Tensor' κ°œμ²΄μ— 'numpy' 속성이 μ—†μŠ΅λ‹ˆλ‹€.
λ‹€μŒμ€ 두 y의 ν•œ μ˜ˆμž…λ‹ˆλ‹€.
y_true:
print(y_true): ν…μ„œ("dense_ target:0 ", λͺ¨μ–‘=(μ—†μŒ, μ—†μŒ, μ—†μŒ), dtype=float32)
인쇄(μœ ν˜•(y_true)):
y_pred:
print(y_pred): Tensor("dense/ Identity:0 ", shape=(None, None, 6), dtype=float32)
인쇄(μœ ν˜•(μ˜ˆμƒ)):

이유λ₯Ό λͺ¨λ₯΄μ§€λ§Œ λ‹€μŒμ„ μΆ”κ°€ν•˜μ—¬ μ΄λŸ¬ν•œ 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.
experimental_run_tf_function=False
λ‚΄ λͺ¨λΈμ˜ 컴파일 κΈ°λŠ₯μ—μ„œ.

λ‚΄ κ²½μš°μ—λŠ” 별 차이가 μ—†λŠ” 것 κ°™λ‹€

맀우 μ‚¬μš©μž μ •μ˜λœ split μ‚¬μš©ν•˜μ—¬ TF2.1μ—μ„œ TextVectorization λ ˆμ΄μ–΄λ₯Ό μ‹œλ„ν•˜λŠ” λ™μ•ˆ 이 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λ₯Ό μœ„ν•΄ 그것을 고친 것은 dynamic=True λ₯Ό TextVectorization ꡬ쑰둜 μ „λ‹¬ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

μ •ν™•νžˆ μ–΄λ–»κ²Œ ν•˜μ…¨λ‚˜μš”?

λ¨Όμ € λ‹€μŒκ³Ό 같이 Session을 등둝해야 ν•©λ‹ˆλ‹€.
μ„Έμ…˜=tf.μ„Έμ…˜()
그런 λ‹€μŒ .. μ‚¬μš© :
μ˜ˆμƒ κ°’ = expt.eval(μ„Έμ…˜=μ„Έμ…˜)
κ²°κ³ΌλŠ” λ‹€μŒκ³Ό κ°™μ•„μ•Ό ν•©λ‹ˆλ‹€.
인쇄(μ˜ˆμƒ κ°’)
아웃[41]:
λ°°μ—΄([[[ 0, 0, 0],
[4, 71, 141],
[ 0, 0, 0]]]])
κ°μ‚¬ν•˜λ‹€

맀우 μ‚¬μš©μž μ •μ˜λœ split μ‚¬μš©ν•˜μ—¬ TF2.1μ—μ„œ TextVectorization λ ˆμ΄μ–΄λ₯Ό μ‹œλ„ν•˜λŠ” λ™μ•ˆ 이 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λ₯Ό μœ„ν•΄ 그것을 고친 것은 dynamic=True λ₯Ό TextVectorization ꡬ쑰둜 μ „λ‹¬ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

μ •ν™•νžˆ μ–΄λ–»κ²Œ ν•˜μ…¨λ‚˜μš”?

이와 같이. λ‚˜λŠ” μ—¬μ „νžˆ 일반적으둜 ML/TFλ₯Ό 배우고 μžˆμœΌλ―€λ‘œ 이것이 잘λͺ»λœ 것일 수 μžˆμŠ΅λ‹ˆλ‹€. 그것이 'κ·Έλƒ₯ μž‘λ™'ν•  λ•ŒκΉŒμ§€ 그것은 λͺ¨λ‘ ν‘λ§ˆλ²•μž…λ‹ˆλ‹€.

vectorize_layer = tf.keras.layers.experimental.preprocessing.TextVectorization(
    standardize=tf_custom_standardize,
    split=tf_custom_split,
    max_tokens=len(vocab)+1,
    output_mode='int',
    dynamic=True
)

이 λ¬Έμ œλŠ” μ—¬μ „νžˆ λ‚˜μ—κ²Œ 남아 μžˆμŠ΅λ‹ˆλ‹€. @tf.function 주석을 μ‚¬μš©ν•˜μ§€ μ•Šκ³  μ—΄μ‹¬νžˆ μ‹€ν–‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ§€κΈˆ μ‚¬μš©ν•˜κ³  μžˆλŠ” ν•΄κ²° 방법은 np.array(yourtensor.to_list())μž…λ‹ˆλ‹€.

이 λ¬Έμ œλŠ” μ—¬μ „νžˆ λ‚˜μ—κ²Œ 남아 μžˆμŠ΅λ‹ˆλ‹€. @tf.function 주석을 μ‚¬μš©ν•˜μ§€ μ•Šκ³  μ—΄μ‹¬νžˆ μ‹€ν–‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ§€κΈˆ μ‚¬μš©ν•˜κ³  μžˆλŠ” ν•΄κ²° 방법은 np.array(yourtensor.to_list())μž…λ‹ˆλ‹€.

이것이 λ‚΄κ°€ μ–»λŠ” κ²ƒμž…λ‹ˆλ‹€.
AttributeError: 'Tensor' object has no attribute 'to_list'

tensorflow의 μ½”λ“œμ— λ”°λ₯΄λ©΄ ν…μ„œ 객체가 열망 λͺ¨λ“œ tensor(tensorflow.python.framework.ops.EagerTensor)에 μžˆμ„ λ•Œ tesnsorObj.numpy()λ₯Ό ν˜ΈμΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€.
이 방법은 tensorflow/python/framework/ops.pyμ—μ„œ κ΅¬ν˜„λ©λ‹ˆλ‹€.
κ·ΈλŸ¬λ‚˜ ν…μ„œ 객체가 일반 ν…μ„œ(예: tensorflow.python.framework.ops.Tensor에 속함)인 경우 numpy() λ©”μ„œλ“œκ°€ μ—†κ³  κ΅¬ν˜„ μ½”λ“œλ„ tensorflow/python/framework/ops.py에 μžˆμŠ΅λ‹ˆλ‹€.
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/framework/ops.py

@tf.functionμ—μ„œ μ‹€ν–‰ 쀑인 λͺ¨λ“  ν…μ„œ 객체가 tensorObj.numpy()λ₯Ό ν˜ΈμΆœν•  수 μ—†μŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€.
κΈ΄κΈ‰ μ‹€ν–‰ λͺ¨λ“œλŠ” TF2.0에 μœ μ—°μ„±μ„ μΆ”κ°€ν•˜κ³  λ³΅μž‘μ„±μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.

tensorflow의 μ½”λ“œμ— λ”°λ₯΄λ©΄ ν…μ„œ 객체가 열망 λͺ¨λ“œ tensor(tensorflow.python.framework.ops.EagerTensor)에 μžˆμ„ λ•Œ tesnsorObj.numpy()λ₯Ό ν˜ΈμΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€.
이 방법은 tensorflow/python/framework/ops.pyμ—μ„œ κ΅¬ν˜„λ©λ‹ˆλ‹€.
κ·ΈλŸ¬λ‚˜ ν…μ„œ 객체가 일반 ν…μ„œ(예: tensorflow.python.framework.ops.Tensor에 속함)인 경우 numpy() λ©”μ„œλ“œκ°€ μ—†κ³  κ΅¬ν˜„ μ½”λ“œλ„ tensorflow/python/framework/ops.py에 μžˆμŠ΅λ‹ˆλ‹€.
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/framework/ops.py

@tf.functionμ—μ„œ μ‹€ν–‰ 쀑인 λͺ¨λ“  ν…μ„œ 객체가 tensorObj.numpy()λ₯Ό ν˜ΈμΆœν•  수 μ—†μŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€.
κΈ΄κΈ‰ μ‹€ν–‰ λͺ¨λ“œλŠ” TF2.0에 μœ μ—°μ„±μ„ μΆ”κ°€ν•˜κ³  λ³΅μž‘μ„±μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.

μžμ„Έν•œ μ„€λͺ… κ°μ‚¬ν•©λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ 이 λ¬Έμ œλŠ” μ•ˆμ • 버전 2.1.0 λ²„μ „μ—μ„œλŠ” ν•΄κ²°λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. #38038μ—μ„œ tf-nightly 2.2.0 λ²„μ „μ—μ„œ ν•΄κ²°λ˜μ—ˆλ‹€κ³  μ§€μ ν–ˆμŠ΅λ‹ˆλ‹€.

@renatomello μ €λŠ” TF의 μ™„μ „ν•œ μ΄ˆλ³΄μžμž…λ‹ˆλ‹€. λ”°λΌμ„œ λ‹€μŒμ΄ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 데 도움이 될지 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.
λ‚˜λŠ” Experiment_run_functions_eagerly(True) λ₯Ό μ‚¬μš©ν•˜μ—¬ AttributeError: 'Tensor' object has no attribute 'numpy' 였λ₯˜λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€.
λ‚˜λŠ” TF 버전을 μ‚¬μš©ν•©λ‹ˆλ‹€. 2.1(μžμ„Έν•œ 버전 μ •λ³΄λŠ” μ•„λž˜ μ½˜μ†” 좜λ ₯ μ°Έμ‘°). 이 μ½”λ“œλ‘œ 무엇을 ν•˜λŠ”μ§€ μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

import sys
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
import numpy as np

counter=0

class MyDense(layers.Dense):
  def __init__(self, units, activation,input_shape):
    super().__init__(units=units, activation=activation,input_shape=input_shape)

  def call(self, inputs):
      global counter

      counter += 1
      print('\n{}. inputs.numpy()='.format(counter))
      if hasattr(inputs,'numpy'):
          print('{}'.format(inputs.numpy()))
      else:
          print('not available.')

      return super().call(inputs)

def test(run_eagerly):
    print('\n*** *** *** test(run_eagerly={})'.format(run_eagerly))
    tf.config.experimental_run_functions_eagerly(run_eagerly)

    dim0=256
    dim1=24
    train = np.arange(dim0*dim1).reshape(dim0,dim1)
    label = np.ones(dim0)

    model = tf.keras.Sequential()
    model.add(MyDense(10,activation='softmax',input_shape=(dim1,)))

    model.compile(optimizer=tf.keras.optimizers.SGD(),
                  loss=tf.keras.losses.SparseCategoricalCrossentropy())

    model.fit(train,
              label,
              batch_size=dim0,
              epochs=1)

print("Python version")
print (sys.version)
print("TensorFlow version")
print(tf.__version__)
print('\n\n')

test(False)
test(True)

에디터 Spyder의 μ½˜μ†”(Spyder 버전 4.0.1)μ—μ„œ μœ„μ˜ μ½”λ“œλ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. ν•΄λ‹Ή μ½˜μ†” 좜λ ₯ 은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€(

Python version
3.7.6 (default, Jan  8 2020, 19:59:22) 
[GCC 7.3.0]
TensorFlow version
2.1.0

*** *** *** test(run_eagerly=False)

1. inputs.numpy()=
not available.
Train on 256 samples

2. inputs.numpy()=
not available.

3. inputs.numpy()=
not available.
256/256 [==============================] - 0s 899us/sample - loss: 6344.8682

*** *** *** test(run_eagerly=True)

4. inputs.numpy()=
not available.
Train on 256 samples

5. inputs.numpy()=
[[2328. 2329. 2330. ... 2349. 2350. 2351.]
 [5280. 5281. 5282. ... 5301. 5302. 5303.]
 [2208. 2209. 2210. ... 2229. 2230. 2231.]
 ...
 [5160. 5161. 5162. ... 5181. 5182. 5183.]
 [ 840.  841.  842. ...  861.  862.  863.]
 [6048. 6049. 6050. ... 6069. 6070. 6071.]]
256/256 [==============================] - 0s 132us/sample - loss: 16.1181

이제 test(run_eagerly=False) μ•„λž˜ μ½˜μ†” 좜λ ₯을 μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€. λͺ¨λ“  μ„Έ 가지 MyDense.call() 호좜 μƒνƒœμ—μ„œ input.numpy()λ₯Ό μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€(μ°Έκ³ : λ‚΄κ°€ μ˜¬λ°”λ₯΄κ²Œ μ΄ν•΄ν•˜λ©΄ 처음 두 개의 MyDense.call () ν˜ΈμΆœμ€ λͺ¨λΈμ„ λΉŒλ“œν•˜κΈ° μœ„ν•œ κ²ƒμ΄λ―€λ‘œ input.numpy()λ₯Ό μ‚¬μš©ν•  수 μ—†λ‹€λŠ” μ˜λ―Έμž…λ‹ˆλ‹€.) λ”°λΌμ„œ 이것은 μ˜λ―Έκ°€ μžˆμŠ΅λ‹ˆλ‹€.
test(run_eagerly=True) μ•„λž˜ μ½˜μ†” 좜λ ₯ μ°Έμ‘°: λ‹€μ„― 번째 MyDense.call()μ—μ„œ input.numpy()λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ 이것도 μ˜λ―Έκ°€ μžˆμŠ΅λ‹ˆλ‹€. 그리고 그것은 였λ₯˜λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€.

λ‚˜λŠ” 같은 λ¬Έμ œκ°€ μžˆμ—ˆλ‹€. @tf.function λ‚΄μ—μ„œ .numpy()λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄κ°€ μ΄ν•΄ν•˜λŠ” ν•œ tf.function은 μ„±λŠ₯ λͺ©μ μœΌλ‘œ μ—΄μ‹¬νžˆ μ‹€ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. @tf.function λ°μ½”λ ˆμ΄ν„°λ₯Ό μ œκ±°ν•˜λ©΄ .numpy()κ°€ μž‘λ™ν•©λ‹ˆλ‹€.

그것은 λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•©λ‹ˆλ‹€.

이 μŠ€λ ˆλ“œμ—μ„œ μ–ΈκΈ‰ν•œ λͺ¨λ“  μ†”λ£¨μ…˜μ„ μ‹œλ„ν–ˆμ§€λ§Œ κ·Έ 쀑 μ–΄λŠ 것도 μ €μ—κ²Œ νš¨κ³Όκ°€ μ—†μ—ˆμŠ΅λ‹ˆλ‹€. μ €λŠ” 2.2.0-rc2에 μžˆμŠ΅λ‹ˆλ‹€.

제 κ²½μš°μ—λŠ” 열심 싀행에 λ¬Έμ œκ°€ μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. keras.backend.get_value() ν˜ΈμΆœν•  λ•Œ λ‹€μŒ μ€„μ—μ„œ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

  if context.executing_eagerly() or isinstance(x, ops.EagerTensor):
    return x.numpy()

같은 λ¬Έμ œκ°€μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λͺ¨λΈμ—μ„œ 맞좀 κΈ°λŠ₯을 μ‹€ν–‰ν•  λ•Œ 기본적으둜 μ¦‰μ‹œ 싀행이 λΉ„ν™œμ„±ν™”λ©λ‹ˆλ‹€. 이에 λŒ€μ‘ν•˜κΈ° μœ„ν•΄ model.fit을 μ‹€ν–‰ν•˜κΈ° 전에 model.run_eagerly = True λ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
이것은 Tensorflow 2.2μ—μ„œ λ‚˜λ₯Ό μœ„ν•΄ 맀λ ₯처럼 μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

model.compile(..., run_eagerly=True) μ‚¬μš©μž 지정 λ©”νŠΈλ¦­μ„ λ§Œλ“€ λ•Œ μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

Keras둜 μž‘μ—…ν•˜λŠ” λ™μ•ˆ λΉ„μŠ·ν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.
이것이 λ‹€λ₯Έ μ‚¬λžŒμ—κ²Œ 도움이 될지 λͺ¨λ₯΄κ² μ§€λ§Œ λ‹€μŒμ΄ λ„μ›€μ΄λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
λ‚˜λŠ” μ‚¬μš©ν•˜κ³  μžˆμ—ˆλ‹€:
model = Sequential() 이전에 λ‹€μŒμœΌλ‘œ λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€.
λͺ¨λΈ = tf.keras.Sequential()
그리고 그것은 λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμŠ΅λ‹ˆλ‹€.

@Mainak431 문제λ₯Ό λ‹€μ‹œ μ—¬μ‹œκ² μŠ΅λ‹ˆκΉŒ?

Keras둜 μž‘μ—…ν•˜λŠ” λ™μ•ˆ λΉ„μŠ·ν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.
이것이 λ‹€λ₯Έ μ‚¬λžŒμ—κ²Œ 도움이 될지 λͺ¨λ₯΄κ² μ§€λ§Œ λ‹€μŒμ΄ λ„μ›€μ΄λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
λ‚˜λŠ” μ‚¬μš©ν•˜κ³  μžˆμ—ˆλ‹€:
model = Sequential() 이전에 λ‹€μŒμœΌλ‘œ λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€.
λͺ¨λΈ = tf.keras.Sequential()
그리고 그것은 λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμŠ΅λ‹ˆλ‹€.

그것은 μ‹€μ œλ‘œ λ‚˜λ₯Ό μœ„ν•œ μ†”λ£¨μ…˜μ΄μ—ˆμŠ΅λ‹ˆλ‹€. tensorflow.keras λ ˆμ΄μ–΄ 등이 μ•„λ‹Œ kerasμ—μ„œ 직접 κ°€μ Έμ˜¨ 일뢀 였래된 μ½”λ“œλ₯Ό μž¬μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€. κ°€μ Έμ˜€κΈ° 문을 λ³€κ²½ν•˜λ©΄ 속성 였λ₯˜κ°€ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

@Blubbaa 여기도 λ§ˆμ°¬κ°€μ§€ μž…λ‹ˆλ‹€. 그것은 λ‚˜λ₯Ό μœ„ν•΄ μΌν•œ μœ μΌν•œ κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

ν…μ„œμ—μ„œ 값을 ν™•μΈν•˜κ³  싢은데 tf.placeholder ν˜Έν™˜μ„± λ•Œλ¬Έμ— Eager λͺ¨λ“œλ₯Ό λΉ„ν™œμ„±ν™”ν•΄μ•Ό ν•˜λŠ” 경우 μ–΄λ–»κ²Œ ν•΄μ•Ό ν•˜λ‚˜μš”? tf.placeholder 없이 λ ˆμ΄μ–΄ 사이에 tf.enable_eager_execution λ₯Ό μΆ”κ°€ν•˜λ €κ³  μ‹œλ„ν–ˆλŠ”λ° ValueError: tf.enable_eager_execution must be called at program startup. 였λ₯˜κ°€ λ°œμƒ

λ‹€μŒ μ½”λ“œκ°€ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

def parse_str(str_tensor):
    raw_string = str_tensor.numpy().decode("utf-8") 

    # play with raw string
    raw_string = 'AAA'+raw_string     
    return raw_string

ꡬ문 뢄석 κΈ°λŠ₯ 호좜:

def tf_pre_processing(row):
  return tf.py_function(parse_str, [row['context']], [tf.string])


train = t.map(tf_pre_processing).batch(1).take(1)

list(train)

@Mainak431 μ›λž˜ μ½”λ“œκ°€ μ˜ˆμƒλŒ€λ‘œ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ° μš”μ§€κ°€ μžˆμŠ΅λ‹ˆλ‹€.

@tu1258 μ¦‰μ‹œ 싀행을 λΉ„ν™œμ„±ν™”ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€. κ·Έλƒ₯둜 κ°€μ Έ tf.compat.v1.placeholder λŒ€μ‹  tf.placeholder . κ·Έλž˜λ„ μž‘λ™ν•˜μ§€ μ•ŠμœΌλ©΄ 독립 μ‹€ν–‰ν˜• μ½”λ“œλ₯Ό κ³΅μœ ν•˜μ—¬ 문제λ₯Ό μž¬ν˜„ν•˜μ‹­μ‹œμ˜€.

질문이 더 있으면 μ•Œλ €μ£Όμ„Έμš”. 감사 ν•΄μš”!

λ‚˜λŠ” 같은 λ¬Έμ œκ°€ μžˆμ—ˆλ‹€. @tf.function λ‚΄μ—μ„œ .numpy()λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄κ°€ μ΄ν•΄ν•˜λŠ” ν•œ tf.function은 μ„±λŠ₯ λͺ©μ μœΌλ‘œ μ—΄μ‹¬νžˆ μ‹€ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. @tf.function λ°μ½”λ ˆμ΄ν„°λ₯Ό μ œκ±°ν•˜λ©΄ .numpy()κ°€ μž‘λ™ν•©λ‹ˆλ‹€.

Tensorflow2.x의 λ‹€μŒ μ˜΅μ…˜μ΄ 도움이 될 수 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.
tf.config.run_functions_eagerly

tf.function을 ν˜ΈμΆœν•˜λŠ” μœ„μΉ˜μ—μ„œ μ¦‰μ‹œ 싀행을 μ‹œλ„ν•œ λ‹€μŒ tf.function에 λŒ€ν•œ μ¦‰μ‹œ 싀행을 λΉ„ν™œμ„±ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ €λŠ” tensorflowλ₯Ό 처음 μ‚¬μš©ν•˜μ§€λ§Œ 이 νŠœν† λ¦¬μ–Ό(Jupyter Notebookμ—μ„œ)을 λ”°λ₯΄λ©΄ https://www.tensorflow.org/tutorials/quickstart/beginner?hl=en 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

predictions = model(x_train[:1]).numpy()
Tensor object has no attribute 'numpy'

@louisnot 였λ₯˜λ₯Ό μž¬ν˜„ν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ—¬κΈ° μ—μ„œ ν•˜μ‹­μ‹œμ˜€ . 감사 ν•΄μš”!

였λ₯˜κ°€ λ°œμƒν•˜λ©΄ μš”μ μ„ κ³΅μœ ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? 감사 ν•΄μš”!

μš”μ μ„ μ‚¬μš©ν•˜λŠ” 데 λ¬Έμ œκ°€ μ—†μ—ˆμŠ΅λ‹ˆλ‹€.

tf-nightly μ—μ„œ ν•΄κ²°λ˜μ—ˆμœΌλ―€λ‘œ 이 문제λ₯Ό λ‹«μŠ΅λ‹ˆλ‹€. λ¬Έμ œκ°€ μ§€μ†λ˜λ©΄ μ–Έμ œλ“ μ§€ λ‹€μ‹œ μ—΄μ–΄μ£Όμ„Έμš”. 감사 ν•΄μš”!

@bhupendrathore 였λ₯˜λ₯Ό μž¬ν˜„ν•˜κΈ° μœ„ν•΄ κ°„λ‹¨ν•œ 독립 μ‹€ν–‰ν˜• μ½”λ“œλ‘œ μƒˆ 문제λ₯Ό μ—΄μ–΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ? 감사 ν•΄μš”!

같은 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€. pip install tf-nightly λ₯Ό μ‚¬μš©ν•˜μ—¬ μ†”λ£¨μ…˜μ—μ„œ μˆ˜μ •ν•˜λ©΄ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

ERROR: Could not find a version that satisfies the requirement tf-nightly (from versions: none)
ERROR: No matching distribution found for tf-nightly

@jvishnuvardhan

@liangzelang 또 λ‹€λ₯Έ μƒˆλ‘œμš΄ 문제λ₯Ό μ—΄μ—ˆμŠ΅λ‹ˆλ‹€. κ·Έκ³³μ—μ„œ ν•΄κ²°ν•΄λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€. 감사 ν•΄μš”

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰