[PYTHON] Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 7 5-7

TOP PAGE

7.5~7.7 read_kifu.py read_kifu() Argument: Eine Textdatei, in der die Pfade der Score-Datei aufgelistet sind Ausgabe: ("Phasendiagramm", "Verschieben", "Gewinnen / Verlieren") wird für jede Phase berechnet, eine Phase wird als ein Element zur Liste hinzugefügt, und wenn die gesamte Punktzahl gelesen wurde, wird sie als eine Liste ausgegeben. Die Daten für eine Phase bestehen aus den folgenden fünf Elementen. -piece_bb: 15 Elemente -belegt: 2 Elemente -pieces_in_hand: 2 Elemente -move_label: 1 Element -win: 1 Element Die endgültige Ausgabe ist [([15 Elemente], [2 Elemente], [2 Elemente], [1 Element], [1 Element]), (gleiche Menge), ... ist die Anzahl der Schritte x Anzahl der Spiele]

python-dlshogi\pydlshogi\read_kifu.py


#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import shogi
import shogi.CSA
import copy

from pydlshogi.features import *

from pydlshogi.common import *  ##################test


# read kifu
def read_kifu(kifu_list_file):
    i = 0
    positions = []
    with open(kifu_list_file, 'r') as f:
        for line in f.readlines():
            filepath = line.rstrip('\r\n')
            i += 1
            print(i)
            #Ordnen Sie die Score-Daten der Variablen kifu zu.
            #Die Score-Daten sind ein Wörterbuch mit vier Schlüsseln: Namen, sfen, Züge und Gewinn.
            #Dieses Wörterbuch ist als Element in der Liste enthalten.[0]Nehmen Sie nur das Wörterbuch mit heraus.
            kifu = shogi.CSA.Parser.parse_file(filepath)[0]
            win_color = shogi.BLACK if kifu['win'] == 'b' else shogi.WHITE
            board = shogi.Board()
            for move in kifu['moves']:
                # ■board:print(board)Sie können die Karte in zwei Dimensionen mit anzeigen.
                # ■piece_bb: Ein Array von 15 Elementen. Jedes Element gibt die Anordnung jedes Stücks an. 0:Leer, 1:Ayumu, 2:Weihrauch ...
                #Bit Board. Die Bitplatine ist wie folgt.
                #Jedes Element hat 81 Ziffern (=Es ist eine Dezimalanzeige einer Binärzahl (dh einer Bitplatine) von 81 Quadraten.
                #Drucken Sie, wenn Sie 81 Binärziffern anzeigen möchten('{:0=81b}'.format(Dezimalwert))Kann mit gemacht werden.
                #■ besetzt: Ein Array aus zwei Elementen. Jedes Element ist die Position des Stücks, das von der ersten und zweiten Hand eingenommen wird. Bit Board.
                # ■pieces_in_Hand: Ein Array aus zwei Elementen. Welches Stück ist das erste und das zweite für jedes Element(=key)Wie viele(=value)Ein Wörterbuchtyp, der angibt, ob Sie ihn haben.
                if board.turn == shogi.BLACK:
                    piece_bb = copy.deepcopy(board.piece_bb)
                    occupied = copy.deepcopy((board.occupied[shogi.BLACK], board.occupied[shogi.WHITE]))
                    pieces_in_hand = copy.deepcopy((board.pieces_in_hand[shogi.BLACK], board.pieces_in_hand[shogi.WHITE]))
                else:
                    piece_bb = [bb_rotate_180(bb) for bb in board.piece_bb]
                    occupied = (bb_rotate_180(board.occupied[shogi.WHITE]), bb_rotate_180(board.occupied[shogi.BLACK]))
                    pieces_in_hand = copy.deepcopy((board.pieces_in_hand[shogi.WHITE], board.pieces_in_hand[shogi.BLACK]))


                # move label
                i_move = shogi.Move.from_usi(move) #Erstellen Sie eine Instanz der Move-Klasse mit der Verschiebungsvariablen move als Argument
                move_label = make_output_label(i_move, board.turn)
                #■ Klasse verschieben
                #   from_Quadratvariable: Der Wert der Bewegungsquelle, wenn die Plattenoberfläche durch einen numerischen Wert von 0 bis 80 dargestellt wird.
                #Der durch 9 geteilte Quotient ist die y-Koordinate und der Rest ist die x-Koordinate. Die xy-Koordinate ist 0 Ursprung.
                #   to_quadratische Variable: Wie oben (Ziel).
                #
                #x-Koordinate
                #   0   1   2   3   4   5   6   7   8
                #
                #0 1 2 3 4 5 6 7 8 0 y Koordinaten
                #   9   10  11  12  13  14  15  16  17      1
                #   18  19  20  21  22  23  24  25  26      2
                #   27  28  29  30  31  32  33  34  35      3
                #   36  37  38  39  40  41  42  43  44      4
                #   45  46  47  48  49  50  51  52  53      5
                #   54  55  56  57  58  59  60  61  62      6
                #   63  64  65  66  67  68  69  70  71      7
                #   72  73  74  75  76  77  78  79  80      8
                #
                # print(board)
                #
                # try:
                #     y_from, x_from = divmod(s.from_square, 9)
                #     y_to, x_to = divmod(s.to_square, 9)
                #     print('from:',x_from, y_from)
                #     print('to  :',x_to, y_to)
                #
                #     move_direction = DOWN
                #     print('moved:', move_direction)
                # except:
                #     pass

                # result
                win = 1 if win_color == board.turn else 0

                #Aspekte hinzugefügt (erste drei Variablen), bewegt sich in diesem Aspekt und gewinnt / verliert an den variablen Positionen
                positions.append((piece_bb, occupied, pieces_in_hand, move_label, win))

                #1 vorwärts gehen
                board.push_usi(move)
    return positions

Recommended Posts

Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 11
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 8
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 3
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 7
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 10 6-9
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 10
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 7 5-7
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 9
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 3
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 3
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 1-2
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 3
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 3 ~ 5
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 7 9
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 8 5-9
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 8 1-4
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 3
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 7 8
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 7 1-4
Deep Learning mit Shogi AI auf Mac und Google Colab
Lernen Sie mit Shogi AI Deep Learning auf Mac und Google Colab Verwenden Sie Google Colab
Tiefes Lernen auf Mac- und Google Colab-Wörtern, die mit Shogi AI gelernt wurden
Maschinelles Lernen mit Pytorch in Google Colab
Über das Lernen mit Google Colab
Schritte zum schnellen Erstellen einer umfassenden Lernumgebung auf einem Mac mit TensorFlow und OpenCV
Spielen Sie mit Turtle auf Google Colab
"Learning word2vec" und "Visualisierung mit Tensorboard" auf Colaboratory
Installieren Sie Selenium auf Ihrem Mac und probieren Sie es mit Python aus
Deep Learning Bildanalyse beginnend mit Kaggle und Keras
[AI] Deep Metric Learning
Vorhersagen von Tags durch Extrahieren von Musikfunktionen mit Deep Learning
"Deep Learning from Grund" Memo zum Selbststudium (Nr. 14) Führen Sie das Programm in Kapitel 4 in Google Colaboratory aus
[Google Colab] So unterbrechen Sie das Lernen und setzen es dann fort
Erkennen Sie Ihren Chef mit Deep Learning und verbergen Sie den Bildschirm
Ein Fehler, der beim Erlernen von YOLO mit Google Colab aufgetreten ist
Einstellungen der Python3-basierten maschinellen Lernumgebung auf dem Mac (Koexistenz mit Python2)
HIKAKIN und Max Murai mit Live-Spielvideo und Deep Learning
Versuchen Sie es mit TensorFlow
Deep Kernel Learning mit Pyro
Versuchen Sie Deep Learning mit FPGA
Catalina auf Mac und Pyenv
Generiere Pokemon mit Deep Learning
Erstellen Sie mit Python und GAS Termine für AtCoder-Wettbewerbe in Google Kalender
Erstellen Sie mit Anaconda und PyCharm eine Python-Umgebung auf Ihrem Mac
Fehler und Lösung bei der Installation von Python3 mit Homebrew auf einem Mac (Catalina 10.15)
So führen Sie Jupyter und Spark auf einem Mac mit minimalen Einstellungen aus
Die stärkste Möglichkeit, MeCab und CaboCha mit Google Colab zu verwenden
[Lesehinweis] Praktisches maschinelles Lernen mit Scikit-Learn, Keras und TensorFlow Kapitel 1
Installieren Sie lp_solve unter Mac OSX und rufen Sie es mit Python auf.
Deep Learning / Deep Learning von Grund auf neu 2 Kapitel 4 Memo
Probieren Sie Deep Learning mit FPGA-Select-Gurken aus
Identifikation der Katzenrasse mit Deep Learning
Deep Learning / Deep Learning von Grund auf neu Kapitel 3 Memo
Tensor Flow mit Anakonda auf Mac
MQTT auf Raspberry Pi und Mac
Machen Sie ASCII-Kunst mit tiefem Lernen
Deep Learning / Deep Learning von Null 2 Kapitel 5 Memo
Versuchen Sie es mit TensorFlow Part 2