возникли проблемы с `fs.writeFile`, он не создает файлы

Я пытаюсь запустить скрипт, который сам создает файл модели в json, используяfs.writeFile. Проблема в том, что когда я запускаю скрипт, используяnode file.js. Предполагается создать новый файлface-expression-model.jsonв каталоге/modelsно он ничего не создает и не показывает никаких ошибок.

Я пытался использовать другую библиотекуfs-extraтоже не работает, пытался сделать скрипт для создания каталога моделиfs.WriteDirтоже не работает пытался добавитьprocess.cwd()обойти любую авторизацию при создании файла, но не сработало. Я также попытался добавить блок try/catch, чтобы отловить все ошибки, но он не показывает никаких ошибок, и кажется, что файл был создан впервые, но НЕТ, к сожалению.

Вот код, который я использую.

      const axios = require("axios");
const faceapi = require("face-api.js");
const { FaceExpressions } = faceapi.nets;
const fs = require("fs");

async function trainModel(imageUrls) {
  try {
    await FaceExpressions.loadFromUri(process.cwd() + "/models");

    const imageTensors = [];

    for (let i = 0; i < imageUrls.length; i++) {
      const response = await axios.get(imageUrls[i], {
        responseType: "arraybuffer"
      });

      const image = new faceapi.Image();
      image.constructor.loadFromBytes(new Uint8Array(response.data));

      const imageTensor = faceapi.resizeImageToBase64Tensor(image);

      imageTensors.push(imageTensor);
    }

    const model = await faceapi.trainFaceExpressions(imageTensors);

    fs.writeFileSync("./models/face-expression-model.json", JSON.stringify(model), (err) => {
      if (err) throw err;
      console.log("The file has been saved!");
    });
  } catch (error) {
    console.error(error);
  }
}

const imageUrls = [
    array of images urls here 
];
    

trainModel(imageUrls);
    

1 ответ

Я не знаю точно, почему, но у меня была такая же проблема некоторое время назад. Попробуйте использовать метод "fs.writeFile". Это сработало для меня.

      fs.writeFile("models/face-expression-model.json", JSON.stringify(model), {}, (err) => {
  if (err) throw err;
    console.log("The file has been saved!");
});

Удачи с этим!

Другие вопросы по тегам