package main
import "time"
func main() {
i := 1
go func() {
for {
i++
}
}()
<-time.After(1 * time.Second)
println(i)
}
Run Code Online (Sandbox Code Playgroud)
总是输出1.
然而,1s足以让for循环经历多次.
我认为,i在闭包是i在mainFUNC.
请参阅下面的代码.
package main
import "time"
func main() {
i := 1
go func() {
for {
i++
println("+1")
}
}()
<-time.After(1 * time.Second)
println(i)
}
Run Code Online (Sandbox Code Playgroud)
经过多行"+1"后,输出正好符合预期.
? ~ brew info test
Error: No available formula with the name "test"
==> Searching for a previously deleted formula...
Warning: homebrew/core is shallow clone. To get complete history run:
git -C "$(brew --repo homebrew/core)" fetch --unshallow
Error: No previously deleted formula found.
Run Code Online (Sandbox Code Playgroud)
我之前修改了git远程地址以反映自制程序的地址.也许它与此相关,但我不知道.
我使用带有 pytorch1.1 的 tensorboard 来记录损失值。
我writer.add_scalar("loss", loss.item(), global_step)在每个 for- 循环体中使用。
但是,在训练处理期间绘图图不会更新。
每次想看到最新的损失,都得重启tensorboard服务器。
代码在这里
import torch
import torch.nn as nn
import torch.nn.functional as F
import torchvision
from torch.utils.tensorboard import SummaryWriter
from torchvision import datasets, transforms
# Writer will output to ./runs/ directory by default
writer = SummaryWriter()
transform = transforms.Compose(
[transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))]
)
trainset = datasets.MNIST("mnist_train", train=True, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=64, shuffle=True)
model = torchvision.models.resnet50(False)
# Have ResNet model take in grayscale rather than RGB
model.conv1 …Run Code Online (Sandbox Code Playgroud) package main
import (
"fmt"
"time"
)
type field struct {
name string
}
func (p *field) print() {
fmt.Println(p.name)
}
func main() {
data := []field{ {"one"},{"two"},{"three"} }
for _,v := range data {
go v.print()
}
<-time.After(1 * time.Second)
}
Run Code Online (Sandbox Code Playgroud)
为什么此代码以任何顺序打印 3 “三”而不是“一”“二”“三”?
objects = main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
edit : $(objects)
cc -o edit $(objects)
main.o : defs.h
kbd.o : defs.h command.h
command.o : defs.h command.h
display.o : defs.h buffer.h
insert.o : defs.h buffer.h
search.o : defs.h buffer.h
files.o : defs.h buffer.h command.h
utils.o : defs.h
.PHONY : clean
clean :
rm edit $(objects)
Run Code Online (Sandbox Code Playgroud)
这是来自 GNU make 的示例 makefile。它说 make 将使用简单的规则生成具有匹配名称的 *.c 文件的 *.o 文件。
但是,在我的 mac 上,默认使用 clang,我希望它默认使用 gcc-7,以防某些项目在使用 clang 编译时出错。
go ×2
goroutine ×2
gcc ×1
git ×1
gnu-make ×1
homebrew ×1
macos ×1
pytorch ×1
tensorboard ×1
tensorflow ×1