Sorry, I have some remarks to add:

This is a 19x19 CNN, with a fully connected final layer, therefore it can not be used for other than 19x19.

My actual CNNs do not use a fully connected final layer, but I use more input layers (which did not improve prediction rate a lot).

If somebody wants to use them it is not problem to offer them too, the files are actually not in oakfoam reporitory:(

But I do not use last move features, as my experience was, it is weaker in MC intergration....

I did not do any playing tests without MC! On CGOS 13x13 I have two players (NiceGo) with 50 and 1k playouts running at the moment...

Detlef

Am 27.04.2015 um 14:24 schrieb Detlef Schmicker:
Sorry, it is not,


but I offer my trained DCNN http://physik.de/net.tgz

it has about 44% prediction rate and uses only the position....

it a a caffe file which is quite easy to use:

void Engine::getCNN(Go::Board *board,Go::Color col, float result[])
{
  int size=board->getSize();
    float *data;
    data= new float[2*size*size];
    //fprintf(stderr,"2\n");
    if (col==Go::BLACK) {
      for (int j=0;j<size;j++)
        for (int k=0;k<size;k++)
          {//fprintf(stderr,"%d %d %d\n",i,j,k);
          if (board->getColor(Go::Position::xy2pos(j,k,size))==Go::BLACK)
              {
              data[j*size+k]=1.0;
              data[size*size+size*j+k]=0.0;
              }
else if (board->getColor(Go::Position::xy2pos(j,k,size))==Go::WHITE)
              {
              data[j*size+k]=0.0;
              data[size*size+size*j+k]=1.0;
              }
          else
              {
              data[j*size+k]=0.0;
              data[size*size+size*j+k]=0.0;
              }
        }
    }
    if (col==Go::WHITE) {
      for (int j=0;j<size;j++)
        for (int k=0;k<size;k++)
          {//fprintf(stderr,"%d %d %d\n",i,j,k);
          if (board->getColor(Go::Position::xy2pos(j,k,size))==Go::BLACK)
              {
              data[j*size+k]=0.0;
              data[size*size+size*j+k]=1.0;
              }
else if (board->getColor(Go::Position::xy2pos(j,k,size))==Go::WHITE)
              {
              data[j*size+k]=1.0;
              data[size*size+size*j+k]=0.0;
              }
          else
              {
              data[j*size+k]=0.0;
              data[size*size+size*j+k]=0.0;
              }
    }
    }


  Blob<float> *b=new Blob<float>(1,2,size,size);
  b->set_cpu_data(data);
  vector<Blob<float>*> bottom;
  bottom.push_back(b);
  const vector<Blob<float>*>& rr = caffe_test_net->Forward(bottom);
  //for (int j=0;j<19;j++)
    //{
    //for (int k=0;k<19;k++)
    //    {
    //    fprintf(stderr,"%5.3f ",rr[0]->cpu_data()[j*19+k]);
    //    }
    //fprintf(stderr,"\n");
    //}
  for (int i=0;i<size*size;i++) {
      result[i]=rr[0]->cpu_data()[i];
    if (result[i]<0.00001) result[i]=0.00001;
  }
  delete[] data;
  delete b;
}



Am 27.04.2015 um 13:44 schrieb Petr Baudis:
On Mon, Apr 27, 2015 at 12:35:05PM +0200, Detlef Schmicker wrote:
I dont see a reason, why there should be any problems using it with
DNN on 19x19 trained network. If a 25x25 will be sheduled, I will
take part :)
I'm sorry for being unclear!  I actually meant DCNN as a standalone
player, not part of MCTS.  Is it possible to run oakfoam's DCNN
implementation like that?  (Have you measured its stength?)

Thanks,

                Petr Baudis
_______________________________________________
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go


_______________________________________________
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go


_______________________________________________
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Reply via email to