我正在尝试通过以下方式为我的python代码创建gRPC绑定:
python -m grpc_tools.protoc -I $(pwd)/protos --python_out=./fino/pb2 --grpc_python_out=./fino/pb2 -I=$GOPATH/src -I=$GOPATH/src/github.com/gogo/protobuf/protobuf $(pwd)/protos/*
Run Code Online (Sandbox Code Playgroud)
但是生成的文件具有不存在的依赖关系:
from github.com.gogo.protobuf.gogoproto import gogo_pb2 as github_dot_com_dot_gogo_dot_protobuf_dot_gogoproto_dot_gogo__pb2
Run Code Online (Sandbox Code Playgroud)
稍后用于:
DESCRIPTOR = _descriptor.FileDescriptor(
name='oracle.proto',
package='oracle',
syntax='proto2',
serialized_pb=_b('\n\x0coracle.proto\x12\x06oracle\x1a-github.com/gogo/protobuf/gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x0btypes.proto\":\n\x0b\x41\x63\x63ountList\x12+\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b...')
,
dependencies=[github_dot_com_dot_gogo_dot_protobuf_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,types__pb2.DESCRIPTOR,])
Run Code Online (Sandbox Code Playgroud)
显然,我无法运行此代码。尝试删除不存在的导入后:
TypeError: Couldn't build proto file into descriptor pool!
Invalid proto descriptor for file "oracle.proto":
oracle.proto: Import "github.com/gogo/protobuf/gogoproto/gogo.proto" has not been loaded.
Run Code Online (Sandbox Code Playgroud)
我尝试添加
--include_imports --descriptor_set_out=$(pwd)/protos/all.proto
Run Code Online (Sandbox Code Playgroud)
但我不确定如何将其添加到我的python文件中。我想要的只是我的python代码库中的独立描述。
EDIT1:示例原型文件:
syntax = "proto2";
package etcdserverpb;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.unmarshaler_all) = true;
option (gogoproto.goproto_getters_all) = false;
message …Run Code Online (Sandbox Code Playgroud) 我有docker多级构建,例如:
FROM golang:1.7.3
WORKDIR /go/src/github.com/alexellis/href-counter/
RUN go get -d -v golang.org/x/net/html
COPY app.go .
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app .
FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /root/
COPY --from=0 /go/src/github.com/alexellis/href-counter/app .
CMD ["./app"]
Run Code Online (Sandbox Code Playgroud)
比我有cloudbuild.yml:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: ['pull', 'gcr.io/$PROJECT_ID/app:$BRANCH_NAME']
- name: 'gcr.io/cloud-builders/docker'
args: ['pull', 'gcr.io/$PROJECT_ID/app:latest']
- name: 'gcr.io/cloud-builders/docker'
args: [
'build',
'--cache-from', 'gcr.io/$PROJECT_ID/app:latest',
'--cache-from', 'gcr.io/$PROJECT_ID/app:$BRANCH_NAME',
'--build-arg', 'COMMIT_HASH=$COMMIT_SHA',
'-t', 'gcr.io/$PROJECT_ID/app:$COMMIT_SHA',
'-f', 'config/dockerfiles/app.dockerfile',
'.'
]
- name: 'gcr.io/cloud-builders/docker'
args: ["tag", "gcr.io/$PROJECT_ID/app:$COMMIT_SHA", "gcr.io/$PROJECT_ID/app:$BRANCH_NAME"]
- …Run Code Online (Sandbox Code Playgroud) 如何创建支持nan / missing值的dtype bool(或int)的pandas数据框列?
当我这样尝试时:
d = {'one' : np.ma.MaskedArray([True, False, True, True], mask = [0,0,1,0]),
'two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
print (df.dtypes)
print (df)
Run Code Online (Sandbox Code Playgroud)
列one 隐式转换为对象。同样类似ints:
d = {'one' : np.ma.MaskedArray([1,3,2,1], mask = [0,0,1,0]),
'two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
print (df.dtypes)
print (df)
Run Code Online (Sandbox Code Playgroud)
one在这里隐式转换为float64,并且我更喜欢如果我停留在int域中并且不使用其特质来处理浮点算术(在比较时始终具有容差,舍入误差等)。
如果存在,我想挂载卷。例如:
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mypod
image: redis
volumeMounts:
- name: foo
mountPath: "/etc/foo"
volumes:
- name: foo
secret:
secretName: mysecret
Run Code Online (Sandbox Code Playgroud)
是文档中的示例。但是,如果秘密mysecret不存在,我想跳过安装。那是乐观/可选的挂载点。
现在它会停止,直到创建秘密。
我想与工作人员一起扩展应用程序。
可能有 1 个或 100 个工作人员,我希望无缝地扩展它们。
这个想法是使用副本集。然而,由于特定领域的原因,扩展它们的适当方法是让每个工作人员知道其:ID 和工作人员总数。
例如,如果我有 3 个工人,我会这样:
id:0, num_workers:3
id:1, num_workers:3
id:2, num_workers:3
Run Code Online (Sandbox Code Playgroud)
有没有办法使用 kubernetes 来做到这一点?
我在命令行参数中将此信息传递给应用程序,并且我认为将其包含在环境变量中也可以。
尺寸变化可以让所有工人被杀死并产生新的工人。
来自文档:
秘密必须在作为环境变量在pod中使用之前创建,除非它们被标记为可选.对不存在的秘密的引用将阻止pod启动.
如何将秘密标记为可选?
我在训练期间使用tensorflow运行队列来提供我的数据:
X, Y = tf.train.batch(
[image, label],
batch_size=64
)
Run Code Online (Sandbox Code Playgroud)
然而,X,Y的强制形状为[64,32,32,3]和[64,10].在评估期间,我想在整个测试集上运行损失操作,其尺寸为:[10000,32,32,3]和[10000,10].我会在session.run()中使用feed_dict属性用我的值覆盖X,Y,但它们具有不兼容的形状.
我可以以某种方式指示tensorflow忘记第一维,即重塑[64,32,32,3] - > [无,32,32,3]?或者我还有其他选择用另一个值替换X,Y.
整个数据集足够小以适应内存,因此我使用类似的方法,如https://github.com/tensorflow/tensorflow/blob/r0.9/tensorflow/examples/how_tos/reading_data/fully_connected_preloaded.py
对于原型:
syntax = "proto3";
package messagepb;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.unmarshaler_all) = true;
option (gogoproto.goproto_getters_all) = false;
service KV {
// Put puts the given key into the store.
// A put request increases the revision of the store,
// and generates one event in the event history.
rpc Put(PutRequest) returns (PutResponse) {}
}
message PutRequest {
bytes key = 1;
bytes value = 2;
}
message ResponseHeader {
repeated PutRequest l = …Run Code Online (Sandbox Code Playgroud) helm history <release name>但是无法查看每个发行历史记录中使用了哪些值。我怎样才能做到这一点?
我有一个张量列表和列表,表示它们的概率质量函数.我如何运行每个会话告诉tensorflow根据概率质量函数随机选择一个张量.
我看到几种可行的方法:
一个是排名第一的张量列表,并选择一个基于张量流量变量的切片和挤压我将分配正确的索引.这种方法的性能损失是什么?tensorflow会评估其他不需要的张量吗?
另一个是以类似的方式使用tf.case,我从中挑选出一个张量.同样的问题 - >因为我计划每个图表运行有相当多的(~100s)条件语句,所以性能损失是多少.
有没有更好的方法呢?
这……有点疯狂?
/bin # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
/bin # ./app
sh: ./app: not found
/bin # ls -lha | grep app
-rwxr-xr-x 1 root root 48.3M May 9 09:48 app
/bin # pwd
/bin
/bin # app
sh: app: not found
Run Code Online (Sandbox Code Playgroud)
docker 镜像是使用多阶段构建创建的:
FROM golang AS builder
WORKDIR /go/src/github.com/nmiculinic/app/
RUN go get -u github.com/golang/dep/cmd/dep
COPY Gopkg.lock Gopkg.toml ./
RUN dep ensure -vendor-only
COPY . .
RUN GOOS=linux go install ./cmd/app
FROM alpine:latest
RUN apk --no-cache add ca-certificates && update-ca-certificates
COPY --from=builder …Run Code Online (Sandbox Code Playgroud) kubernetes ×3
python ×3
docker ×2
tensorflow ×2
alpine-linux ×1
boolean ×1
go ×1
grpc ×1
na ×1
pandas ×1
proto ×1
replicaset ×1