Skip to main content

Submit PrimeHub jobs easier

Project description

This is still in the Alpha stage.

PrimeHub Job

Submit PrimeHub jobs easier

Install

pip install primehub_job

How to Use

  1. PrimeHub version >= 2.8
  2. Set the API_TOKEN environment variable
  3. Make sure your group have group volume
from primehub_job import submit_phjob, get_phjob_logs, get_phjob_result, wait_and_get_phjob_result

# You can write @submit_job() to use default settings.
@submit_phjob(name='submitJob', image='datascience-notebook', instance_type='cpu')
def test(a, b='b'):
    print(a)
    print(b)
    return a, b

# Submit a job and wait the result
wait_and_get_phjob_result(test('aaa', 'ccc'))

# Submit a job
job_id = test('aaa', 'ccc')
# Get the running logs
print(get_phjob_logs(job_id))
# Get the job result
get_phjob_result(job_id)

Restrictions

  1. Don't use global variables in functions
  2. If you want to return a model, please use the framework's saver to save model, and return the saved model path to load the model. Here is the example:
# tensorflow
def export_model(model, export_path):
    if os.path.isdir(export_path):
        print('Cleaning up\n')
        shutil.rmtree(export_path)

    model.save(export_path)
    return export_path

@submit_phjob()
def training(epochs=2, dropout=0.2):
    mnist = tf.keras.datasets.mnist

    (x_train, y_train),(x_test, y_test) = mnist.load_data()
    x_train, x_test = x_train / 255.0, x_test / 255.0

    model = tf.keras.models.Sequential([
      tf.keras.layers.Flatten(input_shape=(28, 28)),
      tf.keras.layers.Dense(512, activation=tf.nn.relu),
      tf.keras.layers.Dropout(dropout),
      tf.keras.layers.Dense(10, activation=tf.nn.softmax)
    ])

    model.compile(optimizer='adam',
                  loss='sparse_categorical_crossentropy',
                  metrics=['accuracy'])

    model.fit(x_train, y_train, epochs=epochs)
    model.evaluate(x_test, y_test)

    return export_model(model, '1')

job_id = training()

# load trained model
model = tf.keras.models.load_model(get_phjob_folder_path(job_id) + '/' + wait_and_get_phjob_result(job_id))

Run the Tests

python -m pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

primehub_job-0.1.2.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

primehub_job-0.1.2-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file primehub_job-0.1.2.tar.gz.

File metadata

  • Download URL: primehub_job-0.1.2.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8

File hashes

Hashes for primehub_job-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a2b7f73ab8e057f9557c3a740b696d5fefe147f34fdd1ff6919ed9521f057ef4
MD5 2e37eb6370fcaeb2c15206ef2ea4e952
BLAKE2b-256 578f5265ebd2bd633e0fc41f0a6b84f10820d971264ace08a61451e0923777ef

See more details on using hashes here.

File details

Details for the file primehub_job-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: primehub_job-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8

File hashes

Hashes for primehub_job-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 37e4e96bc0092b4e5263199eaa03966acad0a4361354b9b5a75cc7dc8f1f3d90
MD5 f0ce3b6ee79a93a8a9b520a4eacee25a
BLAKE2b-256 64774ca3203d5adff8cb2cc6bccac29587cbd308b97be8da008308dc876e218a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page