M-LOG

stylegan2报错解决

自作多情 提交于 2020-10-29 07:23:41
#error "C++ versions less than C++11 are not supported." I encountered the same error. A nasty workaround was to add flags --std=c++11 and -DNDEBUG to the nvcc call in dnnlib/tflib/custom_ops.py ln 64 : cmd = 'nvcc --std=c++11 -DNDEBUG ' + opts.strip() https://mlog.club/article/2857895 “undefined symbol: _ZN10tensorflow12OpDefBuilder6OutputESs” https://blog.csdn.net/zaf0516/article/details/103618601 打开custom_ops.py中127行--compiler-options \'-fPIC -D_GLIBCXX_USE_CXX11_ABI=0,改为--compiler-options \'-fPIC -D_GLIBCXX_USE_CXX11_ABI=1,即可如下图所示: 来源: oschina 链接: https://my.oschina.net/u/4339825/blog

window下的磁盘相关操作qt版本,相关磁盘操作接口亦可用于MFC

China☆狼群 提交于 2020-10-14 00:38:19
mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <windows.h> #include <dbt.h> #include <QThread> QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class Thread; class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); void my_log(QString str); void my_log1(QString str); void WriteToFile(const char* fileName, const char* str); wchar_t MydwordTowchar_t(DWORD i); void AddusbToChoice(wchar_t letter); void DelusbToChoice(wchar_t letter); int WriteSector(int startsector, int

双日志商品库存模型设计

99封情书 提交于 2020-08-20 07:14:24
1 题述 1.1.库存模型回顾 关于库存模型的一些历史博客,请参考: 商品库存模型-逻辑设计小议 存货成本确定方法-进价计算设计 如果你刚刚接触商品库存设计, 并没有对该逻辑进行过较为深入的思考, 建议先阅读这两篇博客. 1.2.双日志库存模型简述 以往博客中我提到的, 关于同时兼顾1)可查询历史库存2)可准确确定商品成本,推荐的方法是库存日志法. 但该法有两个缺陷: 一些场合下, 出库计算会十分复杂, 计算量比较大; 有时会有金额/价格的(四舍五入导致的)近似误差产生; 基于此, 在约一年前, 我们又发明了一种双日志库存模型, 弥补了这两个缺陷. 经过一年左右调试和使用, 可以确定该方法确实比单日志库存模型要好用. 该方法简而言之, 就是设计两种库存日志. 入库日志: 核心包括记录入库单号及类型, 入库日期, 仓库/商品/商品属性/批次, 入库数量, 单位成本, 剩余数量; 出库日志: 核心包括记录出库单号及类型, 对应入库单号及类型和入库日志id, 出库日期, 仓库/商品/商品属性/批次, 出库数量, 单位成本(冗余); 入库日志上尤其需包含剩余数量, 这样进行进销存统计时就只需统计入库日志, 而不必统计出库日志. 出库日志上需包含对应的入库日志id, 一个入库日志会对应一个或多个出库日志, 这也意味着, 在出入库平衡的情况下, 出库日志数量一定不少于入库日志数量. 2 设计

数据结构水题选讲

落爺英雄遲暮 提交于 2020-08-15 07:46:45
[Ynoi2011]ODT \(O(nlog^2n)\) 的做法非常显然 直接把树重链剖分一下,每个点维护轻儿子的平衡树就行 但是这题 \(1e6\) 的数据范围使得 \(O(nlog^2n)\) 没那么容易卡过去(当然很多人卡过去了 考虑给一个点很多重儿子 那么若一个点有 \(k\) 个重儿子,修改复杂度就变成 \(O(log_knlog_2n)\) ,而查询复杂度变成 \(O(klog_2n)\) 了 为了均摊我们需要 \(log_kn=k\rightarrow k^k=n\) ,发现当 \(k=7\) 时应该是最优的 这样我们得到了一个复杂度 \(O(7nlogn)\) 的算法,已经足够通过这道题了 好像还有一个 \(log\) 的做法但是我不会也找不到讲解先咕了 [Ynoi2019]魔法少女网站 Ynoi+序列=分块 考虑把操作分块 把所有询问按照x从小到大排序,对于当前的x,把小于等于他的位置设为1,大于的位置设为0,每次x变大就把新符合的变成1 用类似链表的东西维护一下 由于需要查询区间我们考虑分块维护(因为我们需要 \(O(1)\) 插入,现在唯一的问题就是修改操作中会把1变成0 考虑一个套路就是插入之后按序撤销,初始让所有被修改的位置一直是0就行了 复杂度 \(O(n\sqrt{n})\) [Ynoi2017]由乃的玉米田 前两个操作可以显然的用莫队+bitset做

最小生成树(Kruskal & Prim)

安稳与你 提交于 2020-08-11 20:33:01
Kruskal Prim 例题 luogu P3366 【模板】最小生成树 以下代码均可A此题 kruskal Kruskal算法通过并差集维护,从到小枚举每条边,如果两端点不在一个集合,将两端点所在集合合并,并将边权累加到答案中 时间复杂度为 \(O(m log m)\) 评测记录 code #include <cstdio> #include <algorithm> using namespace std; const int N = 5005, M = 2e5+5; struct side { int x, y, d; }e[M]; bool operator < (side a, side b) { return a.d < b.d; } int n, m, f[N], ans, cnt; int found(int x) { return x == f[x] ? x : (f[x] = found(f[x])); } void kruskal() { for (int i = 1; i <= m; i++) { int x = found(e[i].x), y = found(e[i].y); if (x == y) continue; f[x] = y; ans += e[i].d; if (++cnt == n-1) return;//最小生成树上最多n-1条边 }

最短路 || 最长路 || 次短路

三世轮回 提交于 2020-08-09 06:59:18
如题,这篇博客就讲一讲最短路以及其它 乱七八糟 的处理路径的问题 至于邻接表,邻接矩阵,有向边和无向边等基础概念之类的这里就不过多阐述了,不会的话建议先在其他dalao的博客或者书上面学习(请多谅解) 最短路 首先讲最短路,因为最短路比较基础,而且在图论中也应用较多,在学习了最短路只会就可以继续往后面学习了,如果您已经学习过了,可以直接跳到后面的最长路和次短路中 最短路,在一个图中,求一个地方到另一个地方的最短路径。联系到我们之前学过的 广度优先搜索 中,也可以处理类似的问题,所以我们先想一想广度优先搜索的一些思想—— 队列 。所以在接下来的最短路算法中,或多或少的会涉及到队列 单源最短路径 单源最短路径,就是指在一个图中,给你一个起点(起点固定),然后终点不是固定的,求起点到任意终点的最短路径。这里会涉及到3种算法,以下用$dis[]$表示起点到任意终点的最短距离 1. Bellman-Ford算法 时间复杂度:O(nm) 给定一个图,对于图中的某一条边(x,y,z),x和y表示两个端点,z表示连接两条边的边权,如果有所有边都满足dis[y]≤dis[x]+z,则dis[]数组的值就是要求的最短路径 这个算法的流程就是基于以上的式子进行操作的: 1.扫描所有的边,如果有 d[y]>d[x]+z ,则 d[y]=d[x]+z (这也被叫做松弛操作) 2.重复以上的操作

数据库分布式事务XA规范介绍及Mysql底层实现机制【原创】

。_饼干妹妹 提交于 2020-08-09 00:06:10
1. 引言 分布式事务主要应用领域主要体现在 数据库领域、微服务应用领域。微服务应用领域一般是柔性事务,不完全满足 ACID 特性,特别是 I 隔离性,比如说 saga 不满足隔离性,主要是通过根据分支事务执行成功或失败,执行相应的前滚的重试或者后滚的补偿操作来达成全局事务的最终一致性,但是全局事务与全局事务之间没有隔离性。 笔者了解到的分布式事务方案有 2PC 的 XA 规范,以及 Google 的 percolator 方案( TiDB 就采用这个实现,本质上是基于全局时间戳的乐观锁版本校验)。 mysql 的 XA 应用场景分为外部 XA 与内部 XA ,内部 XA 用于 binlog 与 stroage engine 之间,协调 binlog 与 redo 事务写入的原子性。外部 XA 用于 mysql 节点与 mysql 节点之间,协调跨物理库之间的原子性。本文主要介绍外部 XA 。 基于 mysql 的 XA 两阶段事务提交(2PC) 分布式事务,需要一个事务协调器( TransactionManager )来接受应用提交的全局事务 (Global Transaction) ,全局事务经过 TM 的分解后,分解成多个分支事务 (Branch Transaction) ,每个分支事务在具体的某个 mysql 实例上运行,其中 mysql 作为资源管理器( Resource

Redis 的命令详解

断了今生、忘了曾经 提交于 2020-08-08 04:06:36
相关文章 Redis 的命令详解 - Key 篇 Redis 的命令详解 - String 篇 Redis 的命令详解 - Hash 篇 Redis 的命令详解 - List 篇 Redis 的命令详解 - SET 篇 欢迎纠错(不管是错字还是内容写的有问题)!!! Sorted Set 命令详解 跟 SET 相关的命令一共有 25 种,这里只介绍常用的,其他请参考 官网 ZADD : 添加成员 起始版本 : 1.2.0 时间复杂度 : O(log(N)),其中N是有序集合中的元素数。 向有序集合(sorted set)中,添加 分数/成员(score/member)对,可以同时指定多个分数/成员(score/member)对。 分数值是一个带符号带双精度浮点型数字字符串。 如果指定的成员已经在有序集合中,则会更新改成员的分数(scrore)并更新到正确的排序位置。 如果key不存在,将会创建一个新的有序集合(sorted set)并将分数/成员(score/member)对添加到有序集合。 历史 redis 版本 >= 2.4 时, ZADD 命令接受多个成员。 在Redis 2.4以前, ZADD 命令只能添加或者更新一个成员。 语法 ZADD key [NX|XX] [CH] [INCR] score1 member1 [score2 member2 ...] score

AntD框架的upload组件上传图片时使用customRequest方法自定义上传行为

佐手、 提交于 2020-08-07 04:20:31
本次做后台管理系统,采用的是 AntD 框架。涉及到图片的上传,用的是AntD的 upload 组件。 我在上一篇文章《 AntD框架的upload组件上传图片时使用customRequest方法自定义上传行为 》中讲到:AntD 的 upload 组件有很多坑,引起了很多人的关注。折腾过的人,自然明白其中的苦楚。 今天这篇文章,我们继续来研究 AntD 的 upload 组件的另一个坑。 备注:本文写于2020-06-11,使用的 antd 版本是 3.13.6。 使用 AntD 的 upload 组件做图片的上传,效果演示 因为需要上传多张图片,所以采用的是照片墙的形式。上传成功后的界面如下: (1)上传中: (2)上传成功: (3)图片预览: 代码实现 首先,你需要让后台同学提供好图片上传的接口。上一篇文章中,我们是把接口调用直接写在了 <Upload> 标签的 action 属性当中。但如果你在调接口的时候,动作很复杂(比如根据业务要求,需要连续调两个接口才能上传图片,或者在调接口时还要做其他的事情),这个 action 方法就无法满足需求了。那该怎么做呢? 好在 AntD 的 upload 组件给我们提供了 customRequest 这个方法: 关于customRequest 这个方法, AntD 官方并没有给出示例,他们只是在 GitHub 上给出了这样一个简短的介绍

EM算法原理总结

纵然是瞬间 提交于 2020-08-06 20:10:41
    EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域算法的基础,比如隐式马尔科夫算法(HMM), LDA主题模型的变分推断等等。本文就对EM算法的原理做一个总结。 1. EM算法要解决的问题     我们经常会从样本观察数据中,找出样本的模型参数。 最常用的方法就是极大化模型分布的对数似然函数。     但是在一些情况下,我们得到的观察数据有未观察到的隐含数据,此时我们未知的有隐含数据和模型参数,因而无法直接用极大化对数似然函数得到模型分布的参数。怎么办呢?这就是EM算法可以派上用场的地方了。     EM算法解决这个的思路是使用启发式的迭代方法,既然我们无法直接求出模型分布参数,那么我们可以先猜想隐含数据(EM算法的E步),接着基于观察数据和猜测的隐含数据一起来极大化对数似然,求解我们的模型参数(EM算法的M步)。由于我们之前的隐藏数据是猜测的,所以此时得到的模型参数一般还不是我们想要的结果。不过没关系,我们基于当前得到的模型参数,继续猜测隐含数据(EM算法的E步),然后继续极大化对数似然,求解我们的模型参数(EM算法的M步)。以此类推,不断的迭代下去,直到模型分布参数基本无变化,算法收敛,找到合适的模型参数。     从上面的描述可以看出,EM算法是迭代求解最大值的算法,同时算法在每一次迭代时分为两步