Машинное обучение, AI и мягкие вычисления

Если вы хотите обработать несколько файлов в одном запросе, процедура немного сложная.

Busboy проходит через единый поток и генерирует события всякий раз, когда приходят файлы (последовательно). Вы не можете получить отдельные потоки для всех файлов одновременно с Busboy. Это не ограничение библиотеки, это то, как работает HTTP.

Лучшим вариантом будет хранить все файлы во временном хранилище и хранить информацию для следующих промежуточных программ с помощью res.locals:

const Busboy = require('busboy');
const path = require('path');
const fs = require('fs');

module.exports = (req, res, next) => {
  res.locals.files = {};
  // You need to ensure the directory exists
  res.locals.someTemporaryDirectory = '/some/temp/dir/with/randomString/in/it';

  let busboy;
  try {
    busboy = new Busboy({
      headers: req.headers
    });
  } catch (e) {
    return next(e);
  }

  busboy.on("file", (fieldname, file, filename, encoding, mimetype) => {
    res.locals.files[fieldname + '_' + filename] = {
      filename,
      encoding,
      mimetype
    };
    // I skipped error handling for the sake of simplicity. Cleanup phase will be required as well 
    const tempFilePath = path.join(res.locals.someTemporaryDirectory, fieldname + '_' + filename);
    file.pipe(fs.createWriteStream(tempFilePath));
  });

  busboy.on("finish", next);

  req.pipe(busboy);
};

В следующем промежуточном программном обеспечении будут использоваться res.locals.someTemporaryDirectory и res.locals.files заниматься своими делами (это потребует этапа очистки).

Это решение может показаться неоптимальным, но HTTP такой, какой есть. Вы можете вместо этого выдать отдельный HTTP-запрос для каждого файла, но я бы не рекомендовал его, поскольку вы столкнетесь с множеством других проблем (таких как синхронизация всех запросов + управление памятью).

Каким бы ни было решение, оно должно испачкать руки.

6
задан 2 revs, 2 users 100% 9 December 2011 в 15:12
поделиться

2 ответа

Машинное обучение можно было считать частью AI, однако я классифицирую Машинное обучение как исследование создания семантических моделей и адаптивного поведения с AI, являющимся полной наукой о системах то интеллектуально кажущееся поведение.

Большая часть того, что идет как "AI", является довольно упрощенной, но очень эффективной, такой как эвристика и т.п..

Мягкие Вычисления не делают упал как он, имеет многих ML и компоненты AI, как это больше об анализе сложных систем. Я мог быть неправым все же. Как с большинством вещей в информатике, чем глубже Вы роете, тем больше Вы обнаруживаете, что она все связана.

4
ответ дан 9 December 2019 в 22:42
поделиться

AI является интеллектуальным проектом попытки получить все аспекты агентурной разведки в компьютерах. Другой проект, также названный AI, стремится использовать вдохновленные человеком алгоритмы для приближения традиционно тяжелых проблем. AI, как могли говорить, охватил такие поля как робототехника, планирование, обоснование, изучение и понимание естественного языка.

Машинное обучение является дисциплиной, которая пытается изменить к лучшему производительность машины задачи, учитывая примеры. Это могло считаться в диапазоне AI интересов, но исследователи в машинном обучении должны не иметь никаких интеллектуальных долей в полном успехе AI. Машинное обучение имеет близкое перекрытие со статистической физикой и определенными темами обработки сигналов, и определенные формулировки сильно перекрывают планирование, управляют теорией и динамическим программированием.

Мягкие вычисления включают процессы, которые включают косвенные, приближенные решения вместо двоичных алгоритмов, которые, как широко полагают, включали такие технологии как нечеткую логику, нейронные сети и генетические алгоритмы. Существует широкое перекрытие между этими методами и определенным планированием и изучением подмножества AI, теории управления, сложной системной теории, и т.д.

7
ответ дан 9 December 2019 в 22:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: