我一直在尝试在我的emacs会话中使用Zsh,而没有emacs重新映射所有Zsh键.我发现ansi-term对此很好,但是,我仍然有一些问题.我输出了很多垃圾字符,我能够解决它:
## Setup proper term information for emacs ansi-term mode
[[ $TERM == eterm-color ]] && export TERM=xterm
Run Code Online (Sandbox Code Playgroud)
但一切仍然不能很好地完成.现在我无法在屏幕外绘制输出,特别是在使用Cr等搜索时.
有什么想法吗.其他人有Zsh + Ansi术语正常工作?
澄清:鉴于字符串文字可以重写为const
char[](见下文),在文字上施加的最大长度低于
char[]s,这只是语法上的不便.为什么C标准鼓励这个?
C89标准对字符串文字有翻译限制:
字符串文字或宽字符串文字中的509个字符(连接后)
char数组没有限制; 也许
对象中的32767个字节(仅限托管环境中)
适用(我不确定什么对象或托管环境的意思),但无论如何它是一个更高的限制.
我的理解是字符串文字等同于包含字符的char数组,即:它总是可以重写这样的东西:
const char* str = "foo";
Run Code Online (Sandbox Code Playgroud)
进入这个
static const char __THE_LITERAL[] = { 'f', 'o', 'o', '\0' };
const char* str = __THE_LITERAL;
Run Code Online (Sandbox Code Playgroud)
那么为什么文字如此严格限制呢?
所以我试图使用以下方式加载模型:
learn = create_cnn(data, models.resnet50, lin_ftrs=[2048], metrics=accuracy)
learn.clip_grad();
learn.load(f'{name}-stage-2.1')
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误
RuntimeError: Error(s) in loading state_dict for Sequential:
size mismatch for 1.8.weight: copying a param with shape torch.Size([5004, 2048]) from checkpoint, the shape in current model is torch.Size([4542, 2048]).
size mismatch for 1.8.bias: copying a param with shape torch.Size([5004]) from checkpoint, the shape in current model is torch.Size([4542]).
Run Code Online (Sandbox Code Playgroud)
唯一不同的是,我添加了stage-2.1模型中不存在的随机验证拆分,当我删除该拆分并且没有经过验证的集时,因为stage-2.1经过训练的一切进展顺利。
发生了什么?
我想扩展(而不是替换)C文件的默认diff头模式。根据这篇文章:
您将不得不提取内置值(令人烦恼的是,即使不查看源代码也无法获得内置值),然后在配置文件中重复执行。
但是,内置值在C中看起来像这样:
PATTERNS("cpp",
/* Jump targets or access declarations */
"!^[ \t]*[A-Za-z_][A-Za-z_0-9]*:[[:space:]]*($|/[/*])\n"
/* functions/methods, variables, and compounds at top level */
"^((::[[:space:]]*)?[A-Za-z_].*)$",
/* -- */
"[a-zA-Z_][a-zA-Z0-9_]*"
"|[-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lLuU]*"
"|[-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\||::|->\\*?|\\.\\*"),
Run Code Online (Sandbox Code Playgroud)
我不确定如何在.gitconfig文件中呈现。
我试过了
xfuncname = "(!^[ \t]*[A-Za-z_][A-Za-z_0-9]*:[[:space:]]*($|/[/*])\n)|(^((::[[:space:]]*)?[A-Za-z_].*)$\n)|([a-zA-Z_][a-zA-Z0-9_]*)|([-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lLuU]*)|([-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\||::|->\\*?|\\.\\*)"
Run Code Online (Sandbox Code Playgroud)
这给了我fatal: Invalid regexp to look for hunk header: (!^[ ]*[A-Za-z_][A-Za-z_0-9]*:[[:space:]]*($|/[/*])跑步的时间git diff。
反斜杠加倍也不起作用:
xfuncname = "(!^[ \\t]*[A-Za-z_][A-Za-z_0-9]*:[[:space:]]*($|/[/*])\\n)|(^((::[[:space:]]*)?[A-Za-z_].*)$\\n)|([a-zA-Z_][a-zA-Z0-9_]*)|([-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lLuU]*)|([-+*/<>%&^|=!]=|--|\\\\+\\\\+|<<=?|>>=?|&&|\\\\|\\\\||::|->\\\\*?|\\\\.\\\\*)"
Run Code Online (Sandbox Code Playgroud)
没有错误,但diff头为空,即,它不匹配任何内容。
假设它们是 ISO-8859-15(Window-1252?)是否安全,或者我可以调用一些函数来查询它吗?最终目标是转换为 UTF-8。
出现此问题所描述的问题是因为 XMLStarlet 假定其命令行参数是 UTF-8。在 Windows 下,它们似乎实际上是 ISO-8859-15(Window-1252?),或者至少在开头添加以下内容main使事情正常工作:
char **utf8argv = malloc(sizeof(char*) * (argc+1));
utf8argv[argc] = NULL;
{
iconv_t windows2utf8 = iconv_open("UTF-8", "ISO-8859-15");
int i;
for (i = 0; i < argc; i++) {
const char *arg = argv[i];
size_t len = strlen(arg);
size_t outlen = len*2 + 1;
char *utfarg = malloc(outlen);
char *out = utfarg;
size_t ret = iconv(windows2utf8,
&arg, &len,
&out, &outlen);
if (ret < 0) {
perror("iconv");
utf8argv[i] = …Run Code Online (Sandbox Code Playgroud)