2017-10-22 2 views
0

TensorFlow 1.4 설명서는 Dataset.from_generator의 사용법을 보여주는 코드를 제공합니다. 코드를 실행할 때 InvalidArgumentError : 0-th value returned by pyfunc_0 is int32, but expects int64이 표시됩니다.TensorFlow의 Dataset.from_generator 메서드 호출

저는 파이썬 3.6.1을 사용하고 있습니다. 코드는 다음과 같습니다.

def gen(): 
    for i in itertools.count(1): 
    yield (i, [1] * i) 

ds = tf.data.Dataset.from_generator(gen, (tf.int64, tf.int64), 
    (tf.TensorShape([]), tf.TensorShape([None]))) 
value = ds.make_one_shot_iterator().get_next() 

with tf.Session() as sess: 
    sess.run(value) # (1, array([1])) 
    sess.run(value) # (2, array([1, 1])) 

아이디어가 있으십니까?

답변

1

Windows에서 실행 중일 때 TensorFlow 1.4.0 rc0의 알려진 문제입니다. 이 버그는 TensorFlow의 야간 빌드에서 수정되었으며 cherry-picked은 TensorFlow 1.4.0의 다음 릴리스 후보자 인 now available으로 수정되었습니다.

  1. 가 야간 빌드를 설치, pip install tf-nightly을 사용 : 한편

    은 몇 가지 옵션이 있습니다. 여기에는 1.4 분기에서 사용할 수없는 몇 가지 기능이 포함되어 있으며 릴리스 분기만큼 많은 테스트를 거치지 않았습니다.

  2. 소스에서 1.4 분기를 빌드하십시오.

  3. 1.4.0rc1 릴리스 후보가 게시 될 때까지 기다리십시오. 편집 :이 릴리스는 이제 pip install tensorflow==1.4.0rc1을 사용하여 PyPI에서 사용할 수 있습니다.