mirror of
https://github.com/lltcggie/waifu2x-caffe.git
synced 2025-06-26 05:32:47 +00:00
cuDNNのアルゴリズムデータ読み書きの例外対策
This commit is contained in:
parent
2ea99797c6
commit
aba4f717fb
@ -318,12 +318,19 @@ private:
|
||||
|
||||
fclose(fp);
|
||||
|
||||
CcuDNNAlgorithmElement elm;
|
||||
msgpack::unpack(sbuf.data(), sbuf.size()).get().convert(elm);
|
||||
sbuf.clear();
|
||||
try
|
||||
{
|
||||
CcuDNNAlgorithmElement elm;
|
||||
msgpack::unpack(sbuf.data(), sbuf.size()).get().convert(elm);
|
||||
sbuf.clear();
|
||||
|
||||
const uint64_t key = InfoToKey(kernel_w, kernel_h, pad_w, pad_h, stride_w, stride_h, batch_size);
|
||||
mAlgoEmlMap[key] = std::move(elm);
|
||||
const uint64_t key = InfoToKey(kernel_w, kernel_h, pad_w, pad_h, stride_w, stride_h, batch_size);
|
||||
mAlgoEmlMap[key] = std::move(elm);
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
boost::filesystem::remove(SavePath);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -373,22 +380,27 @@ public:
|
||||
auto &eml = p.second;
|
||||
if (eml.IsModefy())
|
||||
{
|
||||
msgpack::sbuffer sbuf;
|
||||
msgpack::pack(sbuf, eml);
|
||||
|
||||
uint8_t kernel_w, kernel_h, pad_w, pad_h, stride_w, stride_h;
|
||||
uint16_t batch_size;
|
||||
eml.GetLayerData(kernel_w, kernel_h, pad_w, pad_h, stride_w, stride_h, batch_size);
|
||||
|
||||
const std::string SavePath = GetDataPath(kernel_w, kernel_h, pad_w, pad_h, stride_w, stride_h, batch_size);
|
||||
FILE *fp = fopen(SavePath.c_str(), "wb");
|
||||
if (fp)
|
||||
try
|
||||
{
|
||||
fwrite(sbuf.data(), 1, sbuf.size(), fp);
|
||||
fclose(fp);
|
||||
msgpack::sbuffer sbuf;
|
||||
msgpack::pack(sbuf, eml);
|
||||
|
||||
eml.Saved();
|
||||
uint8_t kernel_w, kernel_h, pad_w, pad_h, stride_w, stride_h;
|
||||
uint16_t batch_size;
|
||||
eml.GetLayerData(kernel_w, kernel_h, pad_w, pad_h, stride_w, stride_h, batch_size);
|
||||
|
||||
const std::string SavePath = GetDataPath(kernel_w, kernel_h, pad_w, pad_h, stride_w, stride_h, batch_size);
|
||||
FILE *fp = fopen(SavePath.c_str(), "wb");
|
||||
if (fp)
|
||||
{
|
||||
fwrite(sbuf.data(), 1, sbuf.size(), fp);
|
||||
fclose(fp);
|
||||
|
||||
eml.Saved();
|
||||
}
|
||||
}
|
||||
catch(...)
|
||||
{}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user