Skip to main content

Submit PrimeHub jobs easier

Project description

This is still in the Pre-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.0.13.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

primehub_job-0.0.13-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: primehub_job-0.0.13.tar.gz
  • Upload date:
  • Size: 5.3 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.0.13.tar.gz
Algorithm Hash digest
SHA256 0d58d4a8a98370887ec9ea561546457826cc6b59fc4f019ef719cb96319bf54a
MD5 20385a83399a846ca8409eef4a43f792
BLAKE2b-256 16cd1a177c52743d8ad205a52ad5e015d652d3648fddfd609fcc8a677d8f09f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: primehub_job-0.0.13-py3-none-any.whl
  • Upload date:
  • Size: 9.3 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.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 69564a75800a4ab35c526c9147ecd1197d992e27a0ed4901cdd538e90cf4f421
MD5 607eae8760011ec4a5f4054023310023
BLAKE2b-256 7b8d9ce73e5ecea6f69d7d870fb3c3bab91ed501cf00d91be5bd11e8b134650c

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