Updates 2018
Patch Note 2018-12-27
New features
Superpowered metadata views
The metadata tab in the Execution view got a couple new controls to allow you to adjust the scales of the charted data. However, that's not all...
You can now also compare the metadata of multiple executions within a task with the new Metadata tab in the Task view!
OpenStack Swift support
OpenStack Swift data stores are now supported, just like S3, Azure Blob Storage, and Google Cloud Storage are!
Since there are many ways in which your OpenStack administrators may have configured your installation, if you have problems configuring your Swift store, please don't hesitate to get in touch.
URI resolution support for Azure, Google, and Swift
You can now use "native" URIs to refer to files within configured private Azure, Google and Swift storages. Support for S3 was pre-existing, but for clarity's sake, the URI syntaxes are all listed below.
Azure:
azure://{account}/{container}/{key}Google Storage:
gs://{bucket}/{key}Swift:
swift://{project}/{container}/{key}S3:
s3://{bucket}/{key}
Wildcard URI support for S3, Azure, Google, and Swift
Not only can you use the above URI syntax to refer to single files, but you can finally also use wildcards within execution/task input expressions! The wildcard syntax supported is familiar from UNIX shells:
*matches any string except/(e.g.s3://my-bucket/dataset/images/*.jpg)**matches any string, including/, so it traverses subdirectories?matches any single character except/[a-z]matches any character within the given range.
Matching is limited to at most 10,000 files, and wildcard expressions are expanded during execution creation time.
If you need additional syntax we haven't thought of yet, we'd love to hear about it!
Scaling fixes
Faster scaling
More aggressive downscaling in private clouds
Minor polish
Very long column names are now shown a little nicer in tables
All parameter or metadata columns in the execution table can now be toggled on or off with a single click
The event API (and log view) was given a nice speed boost.
Our task runner learned some new tricks!
The amount of available disk space on the machine your job is running on is now printed out.
Uploads to Swift are now supported.
Sensitive parameters are stripped out of input URLs.
Subsequent runs using the same image start a little faster.
Bugfixes
Git SSH URLs with custom port numbers now work as documented. Oops!
Non-secret environment variables couldn't be turned secret. Now they can!
Input downloads are retried up to five times.
Out-of-memory problems within the task runner are a little less likely due to better housekeeping.
Patch Note 2018-12-17
New features
You can now enforce two-factor authentication for your organization. If you enable this, all organization users without 2FA set up will be logged out and need to set it up. This can be found under organization settings.
New dashboard view. Users started getting so many projects that finding the right one could be tedious; but not anymore!
Technical environmental variable view. Allows copy-pasting environment variable sets more easily when creating executions and tasks, see the animation below. Environmental variable list now also shows default Valohai related environmental variables.
Native Google Storage support. Previously you had to jump through some hoops to fully integrate your Google Cloud workers with a Storage in the same region. This has been streamlined by Valohai Google Storage link utility.
Bugfixes
Git SSH URLs with port defined will work properly.
Patch Note 2018-11-19
New features
Two-factor authentication with TOTP is now supported. You can set up TOTP (and backup codes) over at My Profile > Authentication.
On a similar note, you can also see your current user sessions in My Profile > Authentication >Sessions.
The Notes feature now also works for Tasks, not just Executions.
Organization admins can now allow certain members of Teams to administer projects' repositories, etc. just like a project owner can. The only thing Project Administrators in teams can't do is delete or transfer the project. You can set up project administrators in the team detail view.
Environment scaling was improved to be more responsive. This means your executions will start faster in high load situations.
The Metadata Chart view was given a new, more concise UI for axis selection. This was done to allow for long metadata labels to show properly.
Bugfixes
Some bugs regarding logging
NaNandundefinedmetadata values were fixed.Random parameter optimization was fixed to actually work in all situations.
Patch Note 2018-11-02
New features
You can now change your username.
Random values in the parameter space can now be generated for hyperparameter optimization (Tasks). You can choose between an uniform distribution, or a truncated standard normal distribution.
The Create Execution/Create Task view was taught some new tricks:
Fields whose value has been customized from the default as set in the
valohai.yamlfile are now marked with a wrench.You can now revert back to the YAML defaults (or the execution you may be copying) with the click of a button.
Last but definitely not least, changing the commit will no longer reset all changes you've made (but you can use the Revert button to do that).
Number inputs in these views have been taught to behave correctly; they were rather unruly before. Invalid inputs in fields that expect numbers will highlight the field in yellow.
Bugfixes
Tasks can now be created without having to input every optional parameter by hand.
Execution and task creation that uses S3 URLs has been sped up.
Patch Note 2018-10-10
New features
Expanded execution tagging system.
Tags and title will now be copied when you copy an execution.
Allow setting execution title and tags when creating an execution. No need to edit it afterwards.
If you specify tags for a task, the tags will be propagated down to the executions.
Improved execution Docker image selection.
When you select the Docker image field in your browser, you are greeted by a list of common Docker images.
Listing also includes previously used images in the project.
Other improvements.
Remove 5 API token limit.
Better looking HTTP request errors on the web application.
API users can now refer to a project based on the
owner-name/project-namesyntax as an alternative to the project UUID, e.g. you can use/api/v0/projects/myusername/myprojectname/instead of/api/v0/projects/4F1219F0-B5E2-4B59-84CD-F3211EE6A816/.
Bugfixes
Metadata charts now properly show zero values. They would've been hidden in certain cases.
Patch Note 2018-09-18
Improved execution lists.
Parameter/metadata columns now have icons in the column selection dropdown to distinguish them.
The number of notes for an execution can now be viewed and sorted by in execution lists. You can also click directly through to the Notes tab from this column.
Durations are now shown for executions in progress, too. No more
-!Execution tables now remember which columns were selected. This preference is stored within your browser, per-project.
Improved execution creation views.
The expandable panels introduced in the last patch now have disclosure arrows, like they should have done all along!
Commits are now always sorted in descending commit time order.
Improved execution info views.
Execution events can now be quickly filtered; if your execution happens to spam some uninteresting TensorFlow error message, you can just ignore it now!
Better error handling.
The exit code of an execution's last command is now honored; a failing command will mark the execution as failed.
Other improvements.
Deployment views got a little easier to navigate thanks to breadcrumbs.
The Fetch Repository experience got an overhaul and now happens in-page wherever possible.
Patch Note 2018-09-05
New features
Built-in environment variable support.
You can manage execution environment variables in the Create Execution view.
Previously you needed to use
exportin execution commands to set environment variables. This is still supported.You can also define environment variables on project settings and have them be inherited into individual executions.
Project-level environment variables can be marked "secret". Secret environment variable values are hidden on the UI and API, although you can read them during the execution like usual. This is useful for e.g. authentication keys.
Descriptions for step inputs.
Sometimes you want to record more details about expectations for input files and such; now you can!
You define input descriptions in YAML files like you can already do with parameters.
Improved layout for Create Execution and Create Task views.
We aim to make the web interface clearer and more intuitive.
The single most significant improvement is using collapsing panels to divide the evergrowing form into bite-sized pieces.
The button used to add more files to an individual input has been made less prominent, so people wouldn't accidentally click it.
Bugfixes
Scaling logic has been improved for the cluster with low utilization.
This won't affect most of the users and you can still expect sub-second queue times in most of the cases.
Patch Note 2018-08-20
New features
Organizations (beta) are now available!
You can create an organization in the My Profile view.
Organizations help consolidate access control and billing for companies with many people.
If you need help setting up an organization, please let us know!
The invoice and billing experience (if you can call it an experience) was improved.
You can now set your billing address and VAT code, if that sort of thing is required by your accountants.
Invoice documents now also look significantly better and contain supplier information.
You can also download invoices as HTML now, in addition to PDFs.
Tiny little quality of life fixes, too!
Projects can now be transferred to other users or organizations.
Datum Browser: a popover for copying the datum URL (
datum://...) was added; you'll need this to use datums as inputs in the API and CLI.Execution tables can now be filtered by status. No more hunting for that single elusive failed execution among thousands of successes!
Ever wondered why your parameter tweaks didn't seem to have any effect at all? So have we! A warning is now shown in the create execution view if a step has parameters but the
{parameters}placeholder is not present in the command line.
Bugfixes
The Create Execution view now (again) chooses the newest commit by default.
Patch Note 2018-07-25
Summer is in full force here in beautiful Turku, Finland, but we're not letting that deter us from making the platform better! Here's what we've been up to...
Frontend/API Updates
The metadata chart view has been taught to merge data points based on the X axis key.
You can now print multiple metadatum entries with the same key and still have a readable chart.
The message view in the UI was cleaned up and prettified.
You know that thing that pops up from the top of the page when something happens? Well, it's a lot prettier and more useful now!
Also, no more bare "Failed" messages – we went through all messages with a fine comb to have them actually tell you what exactly was being attempted!
You can now use
{parameter:...}and{parameter-value:...}in commands.If you need to only pass a single parameter, or maybe export a parameter value as an environment value, now you can!
export HELLO={parameter-value:hello}!
You can now review a given commit's configuration in the UI.
The commit hash in the execution detail view is now a link.
Deployment:
SCRIPT_PREFIXis now exposed to your code.If your deployed endpoint's URL is e.g.
https://valohai.cloud/example/deployment/version/20180725.0/greet, theSCRIPT_PREFIXenvironment variable will be populated with the valuehttps://valohai.cloud/example/deployment/version/20180725.0. This is useful for making any auxiliary URL routing you might have agnostic to deployment name and version.If your framework is already aware of this environment variable (e.g. Django is), you might not need to do anything. If it's not, simply strip
SCRIPT_PREFIXoff the request path if it starts with the prefix.
Billing: now available in EUR too!
You can now request billing to occur in EUR to save on any possible conversion fees. Your invoices will also be EUR-valued from there on out, which, we've found, placates quite a few bookkeeper types here in the old world.
To have billing occur in EUR, please contact us using the in-app support system.
Executions and Tasks can now be given titles.
You can give a custom title to both executions and tasks, up to 100 characters (or emoji 😻). This is also available via the API, of course. Support in the CLI tool will be added soon.
The environment selection box was given a facelift.
Now you can see which cloud an execution environment is in, as well as details about the price and the capabilities of the environment.
Stderr events are no longer printed in red.
They're a much more readable (not to mention more zen, according to our spiritual consultants) yellow now.
Repositories no longer strictly require a valohai.yaml file.
A configuration file is still recommended.
Task Runner Updates
The internal task runner (codenamed Peon), was also taught a trick or two.
Feature: Downloading large inputs now has a meaningful progress meter.
Feature: The Valohai execution ID is now available as the
VH_JOB_IDenvironment variable.Feature: The amount of available scratch space on the executor machine is logged at the start of the execution.
Feature: The canonical image ID for the Docker image being used is now printed at the start of the execution. In particular, this is a Docker
RepoDigest, if one is available.Feature: Downloaded inputs are now directly mounted into the container. This makes using cached inputs a lot faster. As a side-effect, this means they're always actually read-only.
Bugfix: On occasion, containers that ran into certain out-of-memory situations (which we call "Sudden Container Existence Failure") were not properly reaped and would appear to be running, even if they really weren't. This was fixed by adding a separate house-trained watchdog.
Bugfix: EC2 will (probably) no longer scale instances down while they're initializing an execution.
Bugfix: Interrupted input downloads will no longer corrupt caches.
Valohai-CLI Updates
The CLI tool valohai-cli was also updated to version 0.7.
Feature: You can now use
latestin place of most execution counter values, to refer to the latest execution created.Feature: The YAML wizard now loads image suggestions from the valohai/images repository.
Feature: Input and parameter names containing spaces can now be used – an input named "test images" would be
--test-images.Feature: Input and parameter names are now spell-checked (at least slightly). No more referring to the YAML file if you miss a hyphen or mistype something!
Bugfix: The CLI no longer crashes when used with a newer version of Git (which has changed spellings of certain error messages).
Patch Note 2018-07-05
Layout changes, project header should now be more clear on all projects.
Developer Comment: We had these algorithmic header colorings for projects, as we have more and more projects coming in, we noticed that many of the project id hashes started creating unreadable backgrounds thus we reverted the background coloring for now.
You can now easily preview image output files on web interface.
It won't show all images by default because some of our users are outputting hundreds of images which would slow down the page to a halt. You can still press the "Open all previews" button to do that though.
Kubernetes deployment test view supports image responses for more streamlined testing.
Patch Note 2018-06-19
New usage and bill estimation page.
Previously platform reported total lifetime billing value in various places, which is not most users want.
Momentarily losing server connection won't hide logs on execution page.
Developer Comment: Any error response would hide the logs and stop automatic updating, now it will just try again after a while.
Patch Note 2018-06-04
Execution metadata charts are lazy-loaded.
Having large metadata set caused chart the whole execution page to load slowly we separated the loading.
Data browser will now correctly refresh available files after upload.
This was previously fixed by refreshing the page.
Convert all frontend code to TypeScript
Developer Comment: Users shouldn't notice any changes except faster development speed and less bugs in the future ;)
Patch Note 2018-05-21
Add deployment endpoint test UI with optional drag and drop image payload.
It's essential to verify that your deployed endpoint works as excepted before rolling it to production, previously testing was done through the command-line but now you can just use the Valohai web app.
We'll bring more automation to check endpoint "health" in the future.
Internal crash reporting now includes user contact information.
Valohai support team can now reach out back to you automatically.
Patch Note 2018-05-07
Non-integer number values for parameters and metadata are rounded to four decimal places.
You can see the full value by hovering the number.
Allow ordering executions by parameter.
Note that everything is currently sorted as strings though.
Removed
Promise.finally()usage that caused Linux browsers to crash on execution creation.We replaced all instances of
Promise.finally()with equivalent implementations.
Patch Note 2018-04-30
Shell variable syntax
${foo}is now supported within commands. To be exact, all other bracketed segments than{parameters}are now simply passed through as-is.Stores can now be deleted, and they behave better altogether.
Some UI colors were refined for better visual satisfaction.
Patch Note 2018-04-23
Improvements to metadata and log views.
No metrics are chosen by default anymore in the metadata chart. This makes it that much easier to handle when there are many metrics to choose from.
The log event list is now able to be filtered by stream or event type, to make it easier to keep track of what matters.
Custom S3 stores no longer require the Multipart IAM Upload Role field.
The field was erroneously marked required in the frontend. Oops!
Retry functionality in the frontend now works better.
When a transient error occurred, the "Retry" button didn't always really do much. Now it does!
Patch Note 2018-04-09
Kubernetes deployment feature in beta for Early Adopter users.
If you want to get a taste how Valohai deployment works, drop us an email ([email protected]), mention that you want to try out the early-access deployment and we'll schedule a special video call to show how it works before we enable the feature for your account.
Improve task detail view layout.
Removed the information tab on task detail view as it only showed task creation time.
Hide purged files when selecting execution inputs.
Developer Comment: Purged files shouldn't be show as the actual downloadable data doesn't exist anymore.
Patch Note 2018-03-26
Allow downloading execution logs through the web client.
Show execution durations in more human-readable format.
Developer Comment: "1 day, 19 hours" says a lot more than "156742 seconds".
Command-line client properly hides deleted executions.
Developer Comment: We use soft delete approach where executions are kept for a while before actual deletion to allow undoing the removal. Command-line client didn't filter out these deleted executions.
Patch Note 2018-03-09
Show parameters of individual executions in the execution list on task page of the web client.
Developer Comment: This makes easier to compare hundreds of parallel executions.
Rename execution "Discussion" feature to "Notes" to clarify what it should be used for.
Patch Note 2018-02-27
Allow specifying multiple input files per execution input.
Developer Comment: Sometimes the number of input files varies between executions so you can't define an exact number of inputs in the Valohai YAML.
Allow searching input files by the execution number that generated the data.
Improve the layout of execution and task lists on the web client.
Patch Note 2018-02-16
Use S3 multipart upload to allow output files up to 5 terabytes.
Add logarithmic hyperparameter optimization.
Developer Comment: Trying values based on the logarithmic scale makes more sense for various machine learning hyperparameters.
Patch Note 2018-01-22
Don't upload output directory files that start with a dot.
Allow executions to upload files in the middle of their run aka. "live upload."
Developer Comment: Some training can easily take days to complete so our users requested that they could somehow access a partly trained network or a generated preview image.
Last updated
Was this helpful?
