TensorFlow를 배우려고하기 때문에 fibonacci 시퀀스 (일부는 OFC)를 작성하려고했습니다.TensorFlow : 내 fibonacci 서열에 문제가 있습니까?
이 연습은 IBM인지 클래스에서 영감을 얻었습니다.
#import stuff
import tensorflow as tf
# define the first 2 terms of the sequence
a = tf.Variable(0)
b = tf.Variable(1)
# define the next term. By definition it is the sum of the previous ones
newterm = tf.add(a,b) # or newterm = a+b
# define the update operations. I want a to become b, and b to become the new term
update1 = tf.assign(a, b)
update2 = tf.assign(b, newterm)
# initialize variables
init = tf.global_variables_initializer()
# run
with tf.Session() as sess:
sess.run(init)
fibonacci = [a.eval(), b.eval()]
for i in range(10):
new, up1, up2 = sess.run([newterm, update1, update2])
fibonacci.append(new)
print(fibonacci)
그러나이 [0, 1, 2, 4, 8, 12, 24, 48, 96, 144, 240, 480]
을 인쇄 :
여기 내 코드입니다. 나는 정말로 내가 뭘 잘못하고 있는지 이해하지 못합니다. 다음 학기를 만들고 난 다음 a
을 b
과 b
과 같게 newterm
과 동일하게 만듭니다.
직선 파이썬에서 fibonacci 시퀀스를 쓸 수 있기 때문에 제목에서 "TensorFlow"를 제거하는 것과 관련된 편집을 거부했습니다. 그러나 나는 아직도 TF가 어떻게 작동하는지 이해하지 못한다. 그러므로 나의 질문은 여기에있다. –
기계 학습 도구 인 텐서 흐름이 아닙니까? 나는 이것이 어떻게 fib sequence를 '배우는'방법인지 모른다. 나는 또한 텐서 흐름이 어떻게 작동 하는지를 정말로 이해하지 못한다. 그러나 시퀀스의 처음 10 개의 숫자로 그것을 훈련한다면 다음 숫자가 무엇인지 알 수있을 것이다. – alex
@alex 네, tensorflow는 기계 학습, 특히 심층 학습에 매우 적합하다고 생각합니다. (그래서 나는 그것을 배우려고 노력하고 있습니다! 미래에 그것을 마스터하고 싶습니다.) 그러나, 하드 코어 깊은 학습에 빠지기 전에 구문과 메커니즘이 어떻게 작동 하는지를 이해하기를 원했기 때문에 이것은 재판이었습니다. 물론 기계 학습 방법으로 시퀀스를 배울 수는 있지만 –