نمایش نتایج 1 تا 2 از 2

نام تاپیک: چگونه std::vector<std::vector<double>> را در سی شارپ استفاده کنم ؟

  1. #1

    چگونه std::vector<std::vector<double>> را در سی شارپ استفاده کنم ؟

    باسلام
    من یک کدی به زبان سی پلاس پلاس نوشتم حالا میخواهم یک تابعی رو extern کنم که بعدا بتونم از این تابع در سی شارپ استفاده کنم تا اونجایی که میدونم سی شارپ وکتور متوجه نمیشه میخواستم راهنمایی ام کنید چطوری میتونم این کد را تغییر بدهم بتونم در سی شارپ فراخوانی کنم و ازش استفادهکنم


    extern "C" __declspec(dllexport) std::vector<std::vector<double>> __cdecl PrepareFaceBank(std::string Path);



    تابعی که قصد دارم در سی شارپ استفاده کنم اینه :




    std::vector<std::vector<double>> PrepareFaceBank(std::string Path)
    {
    try
    {
    //load model (if it has been loaded any where else just comment it)
    FaceModule = torch::jit::load(FaceModulePath);


    std::cout << "Model loaded successfully" << std::endl;
    //Disable grad for high performance beacuase this is pretrained model
    torch::NoGradGuard no_grad;
    //an array to save all persons tensor in it
    std::vector<torch::Tensor> embeddings;
    //itterate through facebank directory
    for (const auto& name : get_folderPath(Path))
    {
    std::cout << "name :" << name.filename() << ": " << '\n';


    //array to save all of the photos of each person
    std::vector<torch::Tensor> embs;
    //clear befor itterate through all photos of each person
    embs.clear();
    //int a = 0;
    for (const auto& fileName : get_filenames(name))
    {
    //std::cout <<'\t' << fileName << std::endl;


    Mat image = imread(fileName);


    /* Display if needed:
    cv::namedWindow("Display window");// Create a window for display.
    cv::imshow("Display window", image);
    cv::waitKey(0);
    */


    embs.push_back(ProcessFrame(image));
    //empty cache
    image.release();
    //how many photos each person have
    //std::cout << '\t' << a++ << std::endl;
    }


    //number of photos in data base for this person
    //std::cout << "embs size: " << embs.size() << "\n";
    //convert vector to tensorlist and the calculate the Mean value for all of the photos of each person
    torch::Tensor embedding; // 1*512
    torch::TensorList tensor_list{ embs };
    embedding = torch::mean(torch::cat(tensor_list), 0);


    embeddings.push_back(embedding);
    }
    std::vector<double> EachPersonVec;
    std::vector<std::vector<double> > retValue;
    for (const auto& n : embeddings)
    {


    EachPersonVec.clear();
    for (int i = 0; i < 512; i++)
    {
    EachPersonVec.push_back(n[i].item().to<double>());
    }


    retValue.push_back(EachPersonVec);
    }
    //number of persons in database
    std::cout << "embeddings size : " << embeddings.size() << "\n";


    return retValue;
    }
    catch (const std::exception& e)
    {
    std::cout << e.what() << std::endl;


    }




    }

  2. #2

    نقل قول: چگونه std::vector<std::vector<double>> را در سی شارپ استفاده کنم ؟

    دوست عزیز این وکتور رو C++‎‎‎ استاندارد از C#‎‎‎ و جاوا گرفته که کارها رو مثل اونها راحت کنه اونها خودشون آرایه داینمیک دارن نیازی نیست شما چیزی درست کنید.

تاپیک های مشابه

  1. سوال: ساخت تابع پارامتر نامحدود دار با استفاده از کلاس vector در ++C
    نوشته شده توسط Arshia Aghaei در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 3
    آخرین پست: چهارشنبه 17 دی 1393, 22:16 عصر
  2. خواندن و نوشتن در فایل با استفاده از vector
    نوشته شده توسط eemajid در بخش برنامه نویسی با MFC و ++Visual C
    پاسخ: 8
    آخرین پست: یک شنبه 09 اسفند 1388, 00:25 صبح
  3. پر کردن jtable با استفاده از vector
    نوشته شده توسط Royce_Da در بخش Java EE : نگارش سازمانی جاوا
    پاسخ: 0
    آخرین پست: دوشنبه 21 دی 1388, 20:50 عصر
  4. نحوه استفاده از vector
    نوشته شده توسط roohollahnoori در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 12
    آخرین پست: جمعه 20 شهریور 1388, 18:26 عصر
  5. استفاده از Vector
    نوشته شده توسط devilishruby در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: دوشنبه 05 اسفند 1387, 12:20 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •