a2c를 keras로 사용하려면 loss function을 새롭게 정의해야 한다. 보통 fit으로 넘어오는 인자가 input, output 각 한 개씩 사용한다. input이나 output으로 파라미터를 넘길 때 advantage를 같이 넘겨야 한다. tensorflow 1.x에서는 이게 꼼수로 되었는데, 2.x로 올라오면서 안된다. 아래 보면 actor loss가 0으로 고정되어 있다. 입력 파라미터를 넘길 때 리스트로 2개를 넘길 수 있다. input = [input, advantage]…… A2C keras로 구현(updated, 완성) 계속 읽기
[카테고리:] tensorflow
tensorflow 테스트
blas gemm launch failed tensorflow 2.0
전에 어떻게 해결했는지 모르겠지만, gtx 1060에 model prediction 을 실행하면 BLAS GEMM 어쩌구 나온다. 아래와 같이 cuda 버전 문제이다. apt-get purge libcublas10 libcublas-dev apt-get install libcublas10=10.2.1.243-1 libcublas-dev=10.2.1.243-1 cuda-libraries-10-1 cuda-libraries-dev-10-1 https://github.com/tensorflow/tensorflow/issues/37233
강화학습으로 훈련한 스토리지(experience replay)
전 방법으로 학습되지 않아, expirence replay를 끼워 넣었다. 한 state, action 세트를 학습하면 다른 케이스를 잘 학습하지 못했다. 대차가 뒤쪽에 들어간 경우 문제를 풀지 못해, 매 reset 시점 typeA 대차를 뒤쪽에 있을 확률을 키워 학습했지만 잘 안되었다. batch로 한 번에 여러 케이스를 학습해야 잘 되었다. 역시 누군가 뚫은 길을 가는게 쉽다. experience repaly로 한번에 1,000개씩…… 강화학습으로 훈련한 스토리지(experience replay) 계속 읽기
강화학습으로 훈련한 스토리지
스토리지에 강화 학습을 적용했다. 스토리지 상황은 2개 열 * 3개 행 = 6개 셀을 가지고 있다. 처음 셀(X1/Y2, X2/Y2, X3/Y2)에만 대차를 넣고 뺄 수 있다. 스토리지7에서 스토리지3, 4, 5으로 대차를 이동할 때 putX라 하고, 스토리지 3, 4, 5에서 스토리지 6으로 대차를 이동할 때 getX라 했다. 스토리지 7에서 스토리지 6으로 바로 가는 조건을 getX3Y3로 했다. 종료…… 강화학습으로 훈련한 스토리지 계속 읽기
tensorflow 2.1.0 compile
남는 시간에 tensorflow 2.0을 컴파일에 도전했다. 현실은 실패하여 2.1로 목표 재설정. docker 이미지를 사용하면 쉬운데, avx2를 지원하지 않는 CPU를 사용하여 선택할 수 없다. 직접 컴파일하지 않는 한 사용할 수 없다. 최근 개발 이미지를 찾아보니 cuda 10.1, python3 이었다. nvidia-driver는 여러 버전이 설정 되었는데, host pc 버전으로 구동하나 보다. bazel 버전은 3.0이다. bazel 버전을 2.1.0에 맞는…… tensorflow 2.1.0 compile 계속 읽기