Skip to main content

AI Harness

Introduction

This project would like to supply some convenient tools for the machine learning and deep learning. Current features:

  • XMLConfiguration: for loading a configuration defined in xml files into a Python Object
  • Arguments: Mapping a Python Object to the arguments of argparse
  • inspector: Some convenient method for class/object
  • executors: Some convenient ProcessExecutor
  • fileutils: DirectoryNavigator, FileReadPipeLine
  • others:

Log

  • 2019.4.18, version: 0.3.0: Added distributed training tools for python
  • 2019.4.23, version: 0.3.5: Added a Json file Reader
  • 2019.4.24, version: 0.3.6: Added a data utils for processing data
  • 2019.4.26, version: 0.3.7 Added a data utils for processing data for zip file
  • 2019.4.28, version: 0.3.8 Added QueueExecutor

Examples

1. XMLConfiguration

(1) Define the configuration in xml file like:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <arg name="name" default="TestName" help="Name Test Help"/>
    <arg name="age" default="20" help="Age Test Help"/>
    <group name="address">
        <arg name="home" default="shanghai" help="Home test Help"/>
        <arg name="phone" default="136" help="Phone test Help"/>
    </group>
    <group name="education">
        <arg name="school" default="beijing" help="school test Help"/>
        <arg name="grade" default="master" help="grade test Help"/>
    </group>
</configuration>

you can define multiple xml configuration files, and if the name is same, the value of the later will cover the previous.

(3) Define the configuration class like:

from aiharness.configuration import configclass,field

@configclass
class Address:
    phone: int = field(139, "phone help")
    home: str = field("beijing", "phone help")


@configclass
class Education:
    school: str = field('ustb', "phone help")
    grade: str = field("master", "phone help")


@configclass
class Config:
    name: str = field("test", "name help")
    age: str = field(10, "age help")
    address: Address = Address()
    education: Education = Education()

(3) Load the xml configuration into python object as folling:

from aiharness.configuration import XmlConfiguration

config:Config=XmlConfiguration(Config).load(['configuration1.xml','configuration2.xml'])

Arguments Example

Generally, we use argparse as following:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--name",default='TEST',help='name help')
parser.add_argument("--age",default=18,help='age help')
arguments=parser.parse_args()

And you can got a arguments object.

Here give an example showing how to load a xml configuration and set to argparse arguments and to parse the arguments into a object you defined. And here the Config Class and 'configuration.xml' are same with those of the Configuration example.

Firstly, in fact, the Config Class instead of the codes of 'add_argument' of the argparse.ArgumentParser. Secondly, you can put the configuration into a xml file so that you can change it conveniently.

from aiharness.configuration import  Arguments, XmlConfiguration

config: Config = XmlConfiguration(Config).load(['configuration.xml'])
arguments = Arguments(config)
config: Config = arguments.parse()

Metadata

Release files for ai-harness 0.4.32

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ai-harness 0.4.32
File Size Uploaded Provenance
ai-harness-0.4.32.tar.gz 84.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ai-harness 0.4.32
File Interpreter ABI Platform
ai_harness-0.4.32-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 167.1 kB

Release files / ai-harness-0.4.32.tar.gz

Download URL ai-harness-0.4.32.tar.gz
Size 84.1 kB
Tags Source
SHA-256 checksum
How to use checksums
94dfaea4875a6dc8724cebfc0c84aae8a8b71ac363c1ba92c750b8ed2e617198
BLAKE2b-256 checksum
How to use checksums
c7b4698e1df82623a256760e29a9ec1aa2e8ddb2b8546338747d454780fe2fb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.15.0 CPython/3.6.9

Release files / ai_harness-0.4.32-py2.py3-none-any.whl

Download URL ai_harness-0.4.32-py2.py3-none-any.whl
Size 83.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
8657792224b2c3898a17a2ba370440572a2105160e6791fcfb1326814e0173d3
BLAKE2b-256 checksum
How to use checksums
8b26b36824d21a3434e34392e972225c3d6a4fdb85412af4f8ed508bf677c82d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.15.0 CPython/3.6.9

Security for ai-harness 0.4.32

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.4.32 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page