chipiron.players.boardevaluators.neural_networks package
Subpackages
- chipiron.players.boardevaluators.neural_networks.input_converters package
- Submodules
- chipiron.players.boardevaluators.neural_networks.input_converters.ModelInputRepresentationType module
- chipiron.players.boardevaluators.neural_networks.input_converters.board_representation module
- chipiron.players.boardevaluators.neural_networks.input_converters.board_to_input module
- chipiron.players.boardevaluators.neural_networks.input_converters.board_to_transformer_input module
- chipiron.players.boardevaluators.neural_networks.input_converters.factory module
- chipiron.players.boardevaluators.neural_networks.input_converters.rep_364 module
- chipiron.players.boardevaluators.neural_networks.input_converters.rep_364_bug module
- chipiron.players.boardevaluators.neural_networks.input_converters.representation_364_bti module
- chipiron.players.boardevaluators.neural_networks.input_converters.representation_factory_factory module
- chipiron.players.boardevaluators.neural_networks.input_converters.test_representation module
- Module contents
- chipiron.players.boardevaluators.neural_networks.models package
- Submodules
- chipiron.players.boardevaluators.neural_networks.models.multi_layer_perceptron module
- chipiron.players.boardevaluators.neural_networks.models.transformer_one module
- Module contents
- chipiron.players.boardevaluators.neural_networks.output_converters package
- Submodules
- chipiron.players.boardevaluators.neural_networks.output_converters.factory module
- chipiron.players.boardevaluators.neural_networks.output_converters.model_output_type module
- chipiron.players.boardevaluators.neural_networks.output_converters.output_value_converter module
- Module contents
Submodules
chipiron.players.boardevaluators.neural_networks.NNModelType module
- class chipiron.players.boardevaluators.neural_networks.NNModelType.ActivationFunctionType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
str,Enum- ParametricRelu = 'parametric_relu'
- Relu = 'relu'
- TangentHyperbolic = 'hyperbolic_tangent'
chipiron.players.boardevaluators.neural_networks.NNModelTypeArgs module
chipiron.players.boardevaluators.neural_networks.board_to_tensor module
Module to transform the board into a tensor representation.
- chipiron.players.boardevaluators.neural_networks.board_to_tensor.get_tensor_from_tensors(tensor_white: Tensor, tensor_black: Tensor, tensor_castling_white: Tensor, tensor_castling_black: Tensor, color_to_play: bool) Tensor[source]
Get the final tensor representation from individual tensors.
- Parameters:
tensor_white (torch.Tensor) – The tensor representation for white pieces.
tensor_black (torch.Tensor) – The tensor representation for black pieces.
tensor_castling_white (torch.Tensor) – The tensor representation for white castling.
tensor_castling_black (torch.Tensor) – The tensor representation for black castling.
color_to_play (chess.Color) – The color to play.
- Returns:
The final tensor representation.
- Return type:
torch.Tensor
- chipiron.players.boardevaluators.neural_networks.board_to_tensor.transform_board_pieces_one_side(board: IBoard, requires_grad_bool: bool) Tensor[source]
Transform the board pieces for one side into a tensor representation.
- Parameters:
board (BoardChi) – The chess board.
requires_grad_bool (bool) – Whether the tensor requires gradient.
- Returns:
The transformed board pieces tensor.
- Return type:
torch.Tensor
- chipiron.players.boardevaluators.neural_networks.board_to_tensor.transform_board_pieces_two_sides(board: IBoard, requires_grad_bool: bool) Tensor[source]
Transform the board pieces for both sides into a tensor representation.
- Parameters:
board (BoardChi) – The chess board.
requires_grad_bool (bool) – Whether the tensor requires gradient.
- Returns:
The transformed board pieces tensor.
- Return type:
torch.Tensor
chipiron.players.boardevaluators.neural_networks.factory module
Module for creating neural networks and neural network board evaluators.
- class chipiron.players.boardevaluators.neural_networks.factory.NeuralNetModelsAndArchitecture(model_weights_file_name: str | PathLike[str], nn_architecture_args: NeuralNetArchitectureArgs)[source]
Bases:
objectClass to hold the neural network models and architecture. :ivar model_weights_file_name: The file name of the model weights. :vartype model_weights_file_name: path :ivar nn_architecture_args: The neural network architecture arguments.
- classmethod build_from_folder_path(folder_path: str | PathLike[str]) NeuralNetModelsAndArchitecture[source]
Build an instance of NeuralNetModelsAndArchitecture from the given folder path.
- Parameters:
folder_path (Path) – Path to the folder containing ‘architecture.yaml’ and model weights.
- Returns:
An initialized instance.
- Return type:
- model_weights_file_name: str | PathLike[str]
- nn_architecture_args: NeuralNetArchitectureArgs
- chipiron.players.boardevaluators.neural_networks.factory.create_nn(nn_type_args: MultiLayerPerceptronArgs | TransformerArgs) ChiNN[source]
Create a neural network.
- chipiron.players.boardevaluators.neural_networks.factory.create_nn_board_eval_from_architecture_args(nn_architecture_args: NeuralNetArchitectureArgs) NNBoardEvaluator[source]
- chipiron.players.boardevaluators.neural_networks.factory.create_nn_board_eval_from_folder_path_and_existing_model(path_to_nn_folder: str | PathLike[str]) tuple[chipiron.players.boardevaluators.neural_networks.nn_board_evaluator.NNBoardEvaluator, chipiron.players.boardevaluators.neural_networks.neural_net_board_eval_args.NeuralNetArchitectureArgs][source]
Create a neural network board evaluator.
- Parameters:
path_to_nn_folder (path) – the path to the folder where the model is defined.
- Returns:
The created neural network board evaluator.
- Return type:
- chipiron.players.boardevaluators.neural_networks.factory.create_nn_board_eval_from_nn_and_architecture_args(nn_architecture_args: NeuralNetArchitectureArgs, nn: ChiNN) NNBoardEvaluator[source]
- chipiron.players.boardevaluators.neural_networks.factory.create_nn_board_eval_from_nn_parameters_file_and_existing_model(model_weights_file_name: str | PathLike[str], nn_architecture_args: NeuralNetArchitectureArgs) NNBoardEvaluator[source]
- chipiron.players.boardevaluators.neural_networks.factory.create_nn_from_folder_path_and_existing_model(folder_path: str | PathLike[str]) tuple[chipiron.utils.chi_nn.ChiNN, chipiron.players.boardevaluators.neural_networks.neural_net_board_eval_args.NeuralNetArchitectureArgs][source]
- chipiron.players.boardevaluators.neural_networks.factory.create_nn_from_param_path_and_architecture_args(model_weights_file_name: str | PathLike[str], nn_architecture_args: NeuralNetArchitectureArgs) tuple[chipiron.utils.chi_nn.ChiNN, chipiron.players.boardevaluators.neural_networks.neural_net_board_eval_args.NeuralNetArchitectureArgs][source]
- chipiron.players.boardevaluators.neural_networks.factory.get_architecture_args_from_file(architecture_file_name: str | PathLike[str]) NeuralNetArchitectureArgs[source]
- chipiron.players.boardevaluators.neural_networks.factory.get_architecture_args_from_folder(folder_path: str | PathLike[str]) NeuralNetArchitectureArgs[source]
- chipiron.players.boardevaluators.neural_networks.factory.get_nn_architecture_file_path_from(folder_path: str | PathLike[str]) str[source]
Get the file path for the architecture parameters.
- Parameters:
folder_path (str) – The folder path for the architecture parameters.
- Returns:
The file path for the architecture parameters.
- Return type:
str
- chipiron.players.boardevaluators.neural_networks.factory.get_nn_param_file_path_from(folder_path: str | PathLike[str], file_name: str | None = None) tuple[str, str][source]
Get the file path for the neural network parameters.
- Parameters:
folder_path (str) – The folder path for the neural network parameters.
- Returns:
The file path for the neural network parameters.
- Return type:
str
chipiron.players.boardevaluators.neural_networks.neural_net_board_eval_args module
Module that contains the NeuralNetBoardEvalArgs class.
- class chipiron.players.boardevaluators.neural_networks.neural_net_board_eval_args.NeuralNetArchitectureArgs(model_type_args: chipiron.players.boardevaluators.neural_networks.models.multi_layer_perceptron.MultiLayerPerceptronArgs | chipiron.players.boardevaluators.neural_networks.models.transformer_one.TransformerArgs, model_input_representation_type: chipiron.players.boardevaluators.neural_networks.input_converters.ModelInputRepresentationType.ModelInputRepresentationType, model_output_type: chipiron.players.boardevaluators.neural_networks.output_converters.model_output_type.ModelOutputType)[source]
Bases:
object- model_input_representation_type: ModelInputRepresentationType
- model_output_type: ModelOutputType
- model_type_args: MultiLayerPerceptronArgs | TransformerArgs
- class chipiron.players.boardevaluators.neural_networks.neural_net_board_eval_args.NeuralNetBoardEvalArgs(nn_type: NNModelType, nn_param_folder_name: str)[source]
Bases:
objectRepresents the arguments for a neural network board evaluator.
- Variables:
nn_type (str) – The type of the neural network.
nn_param_folder_name (str) – The name of the folder containing the neural network parameters.
- nn_param_folder_name: str
- nn_type: NNModelType
chipiron.players.boardevaluators.neural_networks.nn_board_evaluator module
Module for the Neural Network Board Evaluator
- class chipiron.players.boardevaluators.neural_networks.nn_board_evaluator.NNBoardEvaluator(net: ChiNN, output_and_value_converter: OutputValueConverter, board_to_input_convert: BoardToInputFunction)[source]
Bases:
objectThe Generic Neural network class for board evaluation
- Variables:
net (ChiNN) – The neural network model
output_and_value_converter (OutputValueConverter) – The converter for output values
board_to_input_converter (BoardToInputFunction) – The converter for board to input tensor
- board_to_input_convert: BoardToInputFunction
- evaluate(input_layer: Tensor, color_to_play: bool) FloatyBoardEvaluation[source]
Evaluate the board position
- Parameters:
input_layer (torch.Tensor) – The input tensor representing the board position
color_to_play (chess.Color) – The color to play
- Returns:
The evaluation of the board position
- Return type:
- output_and_value_converter: OutputValueConverter
Module contents
Module for neural network board evaluators.
- class chipiron.players.boardevaluators.neural_networks.NNBoardEvaluator(net: ChiNN, output_and_value_converter: OutputValueConverter, board_to_input_convert: BoardToInputFunction)[source]
Bases:
objectThe Generic Neural network class for board evaluation
- Variables:
net (ChiNN) – The neural network model
output_and_value_converter (OutputValueConverter) – The converter for output values
board_to_input_converter (BoardToInputFunction) – The converter for board to input tensor
- board_to_input_convert: BoardToInputFunction
- evaluate(input_layer: Tensor, color_to_play: bool) FloatyBoardEvaluation[source]
Evaluate the board position
- Parameters:
input_layer (torch.Tensor) – The input tensor representing the board position
color_to_play (chess.Color) – The color to play
- Returns:
The evaluation of the board position
- Return type:
- output_and_value_converter: OutputValueConverter
- class chipiron.players.boardevaluators.neural_networks.NeuralNetBoardEvalArgs(nn_type: NNModelType, nn_param_folder_name: str)[source]
Bases:
objectRepresents the arguments for a neural network board evaluator.
- Variables:
nn_type (str) – The type of the neural network.
nn_param_folder_name (str) – The name of the folder containing the neural network parameters.
- nn_param_folder_name: str
- nn_type: NNModelType