2017-02-13 2 views
2

문제는 직면하는 문제는 "maincategories"및 "subcategories"가있는 tensorflow 그래프를 훈련해야한다는 것입니다.하위 범주가있는 Tensorflow Python 분류 교육

"maincategories"로 그래프를 완전히 훈련시키는 방법을 이미 알고 있습니다.

예를 들어 고양이, 개, 코끼리와 같은 3 가지 동물 유형이 있습니다.

고양이 0,7

개 0.3

코끼리 0.02 : 그 3 종류의 사진과 그래프를 훈련하는 경우

, 그것은 같은 3 종류의 점수를 반환

고양이 :

내가 뭘 상점 원하는 것은 예를 들어, 이러한 유형의 사람들 3 종류와 하위 범주를 양성하는 것입니다 흰색, 지방, ...

개 : 허스키, ...

그리고 난 지금이 ​​그래프와 이미지를 분류 할 때, 나는이처럼 maincategories와 하위 범주로 출력을 좀하고 싶습니다 :

고양이 : 0, 7 -> 화이트 : 0.3 -> 지방 : 0.5

개 : 0,2 .....

현재 내가 볼 수있는 유일한 방법은 maincategories로하고 훈련하는 그래프를 양성하는 것입니다 하위 카테고리가있는 모든 주 카테고리에 대한 개별 그래프를 작성한 후 다음과 같이 코드를 작성하십시오 :

if name=='cat' and score>=0,7: 
    classify again with catgraph and get results 

이 예에서 catgraph는 카테고리와 다른 cattypes로 학습됩니다.

그러나 이것은 매우 고상하지 않으며 이것을하기위한 더 좋은 방법이 있기를 바랍니다.

당신이 나에게 줄 수있는 도움에 대해 감사드립니다.

~ 야옹

답변

0

당신은 마지막 레이어 (또는 당신이 좋아하는 계층까지)하지만, 모든 것을 공유하는 두 개의 출력과 그래프를 훈련 할 수 있습니다. 그런 다음 각각에 대해 로그 로스를하고 손실의 합에 대해 최적화합니다. 네트워크의 학습 역량에 의해 병목 현상이 발생하는 경우 다른 네트워크보다 한 가지 손실을 더 많이 잴 수 있습니다.

쉽게 시각화 할 수 있도록 요약에서 두 손실을 모두 추적하십시오. 손실 컬렉션에 손실을 추가 할 수 있습니다.

0

개별적으로 하위 범주를 조정해야합니다. --image_dir을 하위 범주의 루트로 지정하십시오. 참고 : 여기서 참조하는 하위 범주는 하위 폴더입니다. 그런 다음 기본 카테고리에서와 같이 각 하위 카테고리의 출력을 가져옵니다. 나는 이것이 약간의 빛을 비춘 것을 바란다. 참조 할 수 있습니다 Tensorflow image retraining