Нейросетевой детектор экзопланет

PlanetFinder

Введите данные фотометрической кривой блеска — поток и время — и модель определит число планет на орбите звезды.

5 000+звёзд в датасете
<10 мспредсказание
01 · Анализ

Введите данные
кривой блеска

ПотокВремя
Данные кривой блеска

Каждая строка: поток время

Обнаружено планет
02 · Метод

Транзитная фотометрия
+ LSTM

01

Данные NASA

lightkurve загружает кривые блеска Kepler/TESS. Нормализация, удаление NaN, фильтрация шума.

02

Предобработка

Нормализация яркости и времени в диапазон [0, 1]. Сохранение подготовленных данных в learn*.txt.

03

Обучение LSTM

Rust + tch-rs обучает рекуррентную сеть. Автосохранение лучшей модели в model.ot по MSE.

04

Предсказание

Ввод кривой → LSTM слои памяти → Linear hidden→1 → число планет. Менее 10 мс.

Вход
[brightness, time]
LSTM
слои памяти
Linear
hidden → 1
Выход
N планет
03 · Технологии

Стек под
капотом

Rust 1.70+

Основной язык — максимальная скорость и безопасность памяти без GC.

tch-rs / LibTorch

PyTorch C++ API — LSTM, тензорные операции, автодифференцирование.

NASA lightkurve

Загрузка и обработка данных Kepler/TESS через Python-пайплайн.

CUDA (опционально)

GPU-ускорение обучения и инференса до ×10 на совместимых картах.

Apache 2.0

Открытый исходный код, свободное коммерческое использование.

LSTM — Long Short-Term Memory

Захватывает транзитные паттерны, разнесённые на недели и месяцы. Устойчива к шуму реальных данных.

04 · MVP

Рабочий прототип
уже готов

PlanetFinder — Terminal
$ cargo run --release
Compiling planetfinder v1.0.1
Finished [optimized] target(s)
 
>> Режим (1=обучение, 2=предсказание): 2
    Загружена модель: model.ot
>> Вводите 'яркость время'. end = результат
    0.998  131.2
    0.872  134.8   <- транзит!
    0.999  136.6
    end
 
>> Predicted number of planets: 1
05 · Исходный код
Rust
LSTM
NASA
Apache 2.0
Open Source