You can now plot metrics in AskAnna!
For example, if you’re working on machine learning models you might want to see the learning curve to monitor your model’s learning performance. With this update, you can do this directly in the AskAnna interface. You don’t need to create a graph of the tracked metrics yourself.
On the run metrics section, you can select the “visualize” icon and select what you want to see. Want to share it? Copy the URL in your browser, or download an image file of the graph.
Till this update it was only possible to create a new workspace by creating a new account, or to ask us. Now, you can create a new workspace in seconds via the web interface.
Besides the web interface, we have also updated the AskAnna CLI. With this update, you can create and remove workspaces via the command line as well.
askanna workspace create
Sometimes you want to use features like filtering or sorting a list of projects. But most of the time you don’t need it. At AskAnna we love clean interfaces and we don’t like distractions. That’s why we build search, sort and filter in such a way that we don’t show them by default. And when you need them, you can unhide them with a single click.
In the project and workspace lists, you’ll find the filter icon on the right. If the icon is empty, no search or filter is active. When a search or filter is applied, the filter icon is filled. You can now easily see if a filter is active. Even if the search, sort and filter options are not visible.
If you have CSV files in your project, you probably know that opening CSV files is not always handy. Most of the time you get the “raw” content which is not easy to read.
With this update of AskAnna, we help you. When you open a CSV file, you get a pretty view. We present the file content in a table.
And you can search through the records. Or, you can sort and group by on one of the columns.
If you add a README.md to your code directory, we’ll show this file on the project landing page. When you work with GitLab or GitHub, you probably know how useful this can be.
With this update, you also get a pretty view of any Markdown file. So, if you keep your project documentation in the code package, you can now read it more easily in AskAnna.
You can now use links in your run, jobs and project descriptions.
And because your descriptions can be long, we have also added a full screen option. Use all the space to focus on what you want to share.
You can now copy images in AskAnna.
Can I check runs on my mobile? Yes, now you can!
In October we released the option to publicly share projects. With the release of explore projects and workspaces, we make it a lot easier to discover them.
Open beta.askanna.eu and you can use the new menu to open explore projects and workspaces.
We introduced a new menu projects. Here you can find your projects. Also, you can search and explore public projects. We upgraded the workspace menu to do the same.
With AskAnna you can now share your project publicly. Set your workspace visibility to allow for public sharing and update your project visibility.
If you share the URL of a public project, people without an AskAnna account can view it. This makes it possible to go for maximum transparency by sharing everything tracked in your project.
Want to keep your project private and only ask certain people to review the work done? You do this by inviting them as a viewer. A workspace viewer can view everything but cannot perform actions. For example, they cannot start a run or push a new code version.
When you are part of multiple workspaces, setting a user profile for every project can be annoying. With this release of AskAnna you can choose to have a specific profile for a workspace, or to use your default AskAnna profile.
For scheduled jobs or long runnings tasks, we hope that sending notifications will help you. With notifications, it’s no longer necessary to keep an eye on the AskAnna run page.
notifications:
all:
email:
- [email protected]
error:
email:
- workspace admins
On the job page, you can also see if notifications emails are configured:
Read more about notifications in the documentation.
In AskAnna, you can now configure the environment image to use. This makes running non-Python projects a lot faster. For example, you can refer to the Julia image to run a Julia script:
environment:
image: julia
And to help you to reproduce results, on the run page you can find the environment used:
You can try any image published on Docker Hub, or pull an image from your private registry. Read more about environment images in the documentation. Or try our demo:
It was already possible to remove a project in AskAnna. You can now also remove a job or run. And if you decide to stop using AskAnna (hopefully not), you can also remove your workspace.
When you use the AskAnna CLI to push code to your project, you might want to exclude some files or directories. Inspired by gitignore, we added support to ignore files and directories.
You can now add a file askannaignore
or .askannaignore
and set what should be excluded when you push code to
AskAnna. Do you already have a .gitignore
file in your project directory? Then you can use that as well.
To see the log, you don’t have to wait anymore till the run is finished. Now we update the log while the run is in progress. Hopefully, this helps you to check the status of an active run.
Actually, it was already possible to add a code block in a description, but the autoformatting was not working pretty well. With the new version of the description editor, we improved this.
In the editor, you can now select the language that AskAnna should use for formatting the code block. Also, you can copy the code block with a single click. Hopefully, this will make life a little easier.
Besides the documentation, we also work on practical examples of how you can run jobs in AskAnna. Hopefully, this inspires how you can do your project with AskAnna. The first example is all about running code in AskAnna. It shows how you can train and evaluate multiple models using AskAnna.
It was already possible to download the result of a run using the web interface or API. Now you can also get the result of a run via the Python SDK or CLI. This makes it possible to load a trained model directly in your Python script.
import askanna
predict_model = askanna.result.get("RUN_SUUID")
The CLI makes it easier to download a result:
askanna result get
It’s now possible to change the information of a workspace, project, job and run via the web interface:
It’s now possible to give your run a name and description. You can set the name when you start the run. Also, you can set a description. For example, use it to write down where the run is about.
When you run a job via the CLI, optionally you can optionally add the name and description as well:
askanna run job_name --name "Provide a name" --description "and a description"
Most of the run info cannot be edited afterward. AskAnna wants you to be able to reproduce what you did. But for the name and description of a run, we make an exception. Based on what happened during the run, you can change the name or add more information about the result of the run.
Till this release, we focused on JSON output as a result of a run. But when you are developing a model, the result might also be something else. We now support that you can save any binary data as a result of a run.
In the web interface, we now also let you view multiple file types:
For large results, we only show a preview. And if possible we show a pretty view of the result data.
Last month we released schedules with an option to set the time zone that the schedule should be based on. Next, we got a question if it also meant that if they set the time zone, it also was that the run environment would use that time zone. This was not the case, but with this release you can. Thanks for the question!
So, if you set the time zone in the askanna.yml
file, we will set the time zone of the run environment to it. When
you use date or time related functions, the specified time zone will be used.
push-target: ...
timezone: Europe/Amsterdam
example-job:
job:
- date
If you run this job in AskAnna, in the log you will see something like:
AskAnna CLI, version 0.9.0
...
$ date
Thu May 20 11:24:39 CEST 2021
...
Run succeeded
Sometimes you have a job that you want to run frequently. Now you can add a schedule to your askanna.yml
configuration:
name of the job:
job:
- ...
schedule:
- "@weekly"
We support multiple schedules, and you can set the timezone:
name of the job:
job:
- ...
schedule:
- "@weekly"
- day: 1
- "0 8 * * *"
When you add a schedule to your job, you can check the schedules on the job page. Also you can see when the next run is planned:
When you run a job, you can now not only track metrics but also track variables. It’s as simple as adding two lines to your Python file:
from askanna import track_variable
track_variable(name="model name", value="XGBoost")
Similar to track metrics, you can also get the tracked variables using the Python SDK or view them in the web interface:
When you run a job, you can now track metrics in AskAnna. It’s as simple as adding two lines to your Python file:
from askanna import track_metric
track_metric(name="accuracy", value=accuracy)
A variety of data types are supported, and you can add labels. Labels can be useful for situations where you run different scenarios, want to compare different models, et cetera.
Want to analyze your run, or make a report in your Notebook? Via the Python SDK you can get the run metrics.
import askanna
run = askanna.run.get(run="4Xo4-n1Wz-ky73-Nhe7", include_metrics=True)
accuracy = run.metrics.get("accuracy")
And you can view the metrics in the web interface as well:
Thanks to David we launched an updated version of askanna run
. With the
new version you can push your code and run a job with one command:
askanna run my_job --push
When you have a job with many runs, loading the page could take a while. We made improvements to the web page, so it will load faster.
By adding more features, also the documentation is growing. We made an update and with the new version you will experience better search results. Also it should open faster, and hopefully easier to navigate. Please, check it out and let us now what you think.
We launched the free Beta version of our platform. If you want to try it or use it for one of your projects, you can sign up within a minute.
You can now run a job using the AskAnna CLI. Install the CLI, and you only have to run the command askanna run
.
When you are working on a project, you can also add the name of the job. Using this will enable you to start jobs while working on your project. Run your experiments in the background while you continue working on your project…or something else.
askanna run JOB_NAME
Read more about runnings jobs using the AskAnna CLI.
We made a start with the Python SDK for AskAnna. With this version, you can manage runs and variables via your Python application.
Read more about the Python SDK in our documentation.
Happy new year! We started 2021 by adding support on the web interface of the AskAnna platform. You can click on the support icon in the bottom right, and you can start a chat with us. You can ask us anything. We can’t promise that we can help you with everything ;)
2020 is the year where we start building AskAnna. We made the foundation of our platform. The base version is all about helping you kickstart your data science, machine learning, or artificial intelligence project. Next, we highlight some of the stuff we had done or build in 2020.
On a technical level, we set up the backend in Django, the AskAnna CLI using Python, and the frontend with Vue.js. AskAnna embraces REST API. This will also help you to integrate AskAnna with other solutions.
We have introduced a couple of concepts:
AskAnna is designed that it should be fast to configure and intuitive to use. You can learn how to configure a project in 5 steps. Check our documentation with the 5 steps to create a project “Hello AskAnna” and end with running a job.
To be able to reproduce your results, for a generated result you want to know:
That’s why we designed the run page. On this page, you can find all information regarding your job run.
On the job page, you can find all runs for that job, but there is more. You can also see how you can run the job. No need to look it up in the documentation, but a simple section on the job page. You can trigger a job via the web interface. Also, you can copy the code for Python or curl.
We want to make it easy for you to develop locally and then run your script in the cloud. One of the concepts we use is based on environment variables. Variables you add to your project will become available as environment variables in the run environment.
For example, you want to set up a PostgreSQL database connection. Locally you add a .env file to your project. Here you specify the variables:
DATABASE_HOST=localhost
DATABASE_USER=postgres
DATABASE_PASSWORD=password
In your Python script, you can set up the connection:
from os import getenv
from dotenv import load_dotenv, find_dotenv
import psycopg2
# find .env automatically by walking up directories until it's found, then
# load the .env entries as environment variables
load_dotenv(find_dotenv())
conn = psycopg2.connect(host=getenv(DATABASE_HOST),
database="my_data",
user=getenv(DATABASE_USER),
password=getenv(DATABASE_PASSWORD))
Locally you can work on your project. You can even use a development, or local database.
When you want to run the job in AskAnna, you can add the variables to your AskAnna project. Now you can run your script in AskAnna, using the variables you have configured. Don’t forget to push the latest version of your code ;)
Read more about using variables in AskAnna.
Sometimes you don’t want to click through a web interface to do the work. You can do the main tasks also using the AskAnna CLI. Some examples:
Create a new project in AskAnna, and create a local directory with already the base configuration
askanna.yml
.
askanna create "Your new project name"
You can also use a project template:
askanna create "name" -t https://{repo containg the template}
Or create a new project in AskAnna, but use a local directory already containg code for the project:
askanna init "Your new project name"
You don’t have to zip your directoy locally. You can also use the CLI to push your code to AskAnna:
askanna push
If you run the next command, AskAnna will check the options available for your project. Then AskAnna will ask you some questions so you can start the job you have selected:
askanna run
As a data scientist, you probably use Jupyter Notebook as well. We want to make it easy for you to view and run your Jupyter Notebooks in AskAnna.
If you want to run your Jupyter Notebook, you can configure a job. If you follow the next configuration example, then the notebook you run in the job is saved as an artifact of the run.
run_my_notebook:
job:
- pip install runipy
- runipy my-notebook.ipynb
output:
paths:
- my-notebook.ipynb
If you want to check the result, you can go to the run page. In the artifact section, open your Jupyter Notebook file. You can view it in the browser and download it for local use or open it in your own Jupyter editor.
To collaborate, you need to be able to invite others. Inviting someone to join your workspace is a matter of providing the email and click “send invite”. That’s it. If the person you invited already is a member of another workspace, they can use the existing account to join your workspace. Or they can create a new account.
Also, managing the people in your workspace is made simple. If you are done with collaborating, you can remove someone from your workspace. But you can still see the work done in the past.