2017-12-02 3 views
0

저는 Tensorflow와 TFLearn을 몇 달 동안 사용하고 있습니다. 나는 진전을 보았다. 그러나, 나는 TFLearn.DNN()으로 작동하는 scikit-learn 타입 Estimator를 만들 수 있기를 기대하고있었습니다. 나는 맞을 수 있고(), 예측할 수는 있지만, evaluate()이 실패하기 때문에 교차 검증을 할 수 없다. Tensorflow가 던지고있다 ...TFLearn, tensorflow.contrib.learn 또는 tf.estimator?

ValueError: Cannot use the given session to evaluate tensor: the tensor's graph is different from the session's graph. 

... 나는 evaluate()을 부를 때. 나는 TFLearn API의 전체적인 요점은 세션 관리와 같은 것을 추상화하는 것이라고 생각했다.

프로젝트의 GitHub 페이지를 비롯하여 여러 포럼에서 TFLearn과 관련된 문제에 대해 질문했습니다. 불행히도 나는 어떤 대답도 얻지 못하고있다. 단지 침묵이다.

갑자기 며칠 전 tensorflow.contrib.learn 네임 스페이스가 발생했으며 이러한 클래스와 TFLearn이 겹치는 부분이 있습니다. 그리고 tf.estimator 클래스를 발견했습니다.

마지막으로, 나는 tensorflow.contrib 서브 패키지가 제 3 자의 기여라는 것을 알았습니다. 이것은 원래의 TFLearn이 더 큰 Tensorflow 패키지에 흡수되고 있는지 궁금해합니다. 어떤 방향으로 코드가 흐르고 있으며 관심 있고 참여하는 개발자 그룹은 어디에서 찾을 수 있습니까?

scikit-estim estimator 객체의 모든 기능을 사용하는 한, 내가 사용하는 것에 상관하지 않습니다.

제공 해 주셔서 감사합니다.

답변

0

tf.datatf.estimator과 같은 TensorFlow의 공식 하위 모듈을 사용하는 것이 가장 좋습니다. 그것들은 잘 관리되고 특징들이 빨리 추가되어야합니다.

예를 들어 @mrry는 tf.data을 담당하며 모듈은 매우 깨끗하고 사용하기 쉽며 tf.estimator과 호환됩니다.

모듈 tf.estimator은 조금 덜 명확하고 tf.contrib.learn에서옵니다. 내 말을 듣지 마라.하지만 을 천천히 바꾼다.과 함께 TensorFlow의 공식적인 고수준 API 여야한다.


당신은 그들이 모든 모듈 사이의 관계를 설명하는 공식 blog post에서 자세한 정보를 찾을 수 있습니다.

Organization of TensorFlow modules