Skip to content

Unofficial Project: Generate the VisualAtom dataset using JuliaLang (within an hour).

License

Notifications You must be signed in to change notification settings

AtelierArith/VisualAtom.jl

Repository files navigation

VisualAtom.jl Build Status

⚠️ This implementation is unofficial.

Description

This repository contains Julia implementation of visual_atomic_renderer/render_VisualAtom.py, originally implemented in Python. The original Python implementation can be found at masora1030/CVPR2023-FDSL-on-VisualAtom

Getting Started

Prerequisites

To use this Julia implementation, you will need:

Installation

  1. Clone this repository:
$ git clone https://github.com/AtelierArith/VisualAtom.jl.git
  1. Change directory into the repository:
$ cd VisualAtom.jl
  1. Install the required Julia packages:
$ julia --project=@. -e 'import Pkg; Pkg.instantiate()'
  Activating project at `~/work/atelier_arith/VisualAtom.jl`
Precompiling project...
  Progress [>                                        ]  0/1
  ◓ VisualAtom

Usage

⚠️ Make sure you have enough storage space (200GB).⚠️

Easy! Just run:

$ julia --project=@. --procs auto run.jl

It will create a directory VisualAtom_dataset by default and 1000 * 1000 images will be generated.

image

The following screenshot was captured while running on my iMac 2019 with --procs 16.

If you are surprised by these results, you may want to consider moving from Python to Julia.

Tip

--procs {N|auto} Integer value N launches N additional local worker processes "auto" launches as many workers as the number of local CPU threads (logical cores)

See Command-line switches for Julia to learn more.

Another easy shortcut

Having trouble installing Julia? You can save yourself the trouble of installation by using a Docker container.

$ make && docker compose run --rm shell julia --procs auto run.jl

The entrypoint script run.jl uses parallel processing via Distributed module (Julia's standard library).

For those who want to run with multiple threads, use run_mt.jl:

$ make && docker compose run --rm shell julia --threads auto run_mt.jl

You can adjust the number of threads using the -t or --threads option:

-t, --threads {N|auto}     Enable N threads; "auto" currently sets N to the number of local
                            CPU threads but this might change in the future

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

About

Unofficial Project: Generate the VisualAtom dataset using JuliaLang (within an hour).

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages