我知道可以在Google Cloud上部署用于培训作业的自定义容器,并且我已经能够使用command来运行相同的容器。
gcloud ai-platform jobs submit training infer name --region some_region --master-image-uri=path/to/docker/image --config config.yaml
Run Code Online (Sandbox Code Playgroud)
训练工作已成功完成,并且模型已成功获得。现在,我想使用该模型进行推理,但是问题是我的代码具有系统级依赖关系,因此我必须对体系结构进行一些修改才能让它一直运行。这就是首先要为培训工作提供定制容器的原因。
该文档仅适用于培训部分和推断部分(如果可能的话),而据我所知,尚未使用自定义容器进行探索。
培训部分的文档可在此链接上找到
我的问题是,是否可以在Google Cloud-ml上出于推理目的部署自定义容器?
google-cloud-platform google-cloud-ml gcp-ai-platform-notebook
我已经完成了pytorch交叉熵损失函数的自定义实现(因为我需要更多的灵活性稍后介绍)。我打算用这个训练的模型需要相当长的时间来训练,而且可用的资源不能仅仅用来测试函数是否正确实现。我已经实现了矢量化实现,因为它运行起来会更快。
以下是我的代码:
def custom_cross(my_pred,true,batch_size=BATCH_SIZE):
loss= -torch.mean(torch.sum(true.view(batch_size, -1) * torch.log(my_pred.view(batch_size, -1)), dim=1))
return loss
Run Code Online (Sandbox Code Playgroud)
如果您能建议更优化的实现,或者我在当前的实现中犯了错误,我将非常感激。该模型将使用 Nvidia Tesla K-80 进行训练。
artificial-intelligence machine-learning cross-entropy pytorch
我有一个 docker 文件,它安装所有依赖项并为应用程序创建一个环境,但有一个特定的文件让我遇到了困难。
我正在使用此命令在 docker 容器中安装 tkinter
RUN apt-get install -y python3-tk
但这会提示您选择时区和地理位置。
我目前正在通过进入 docker 并在容器中安装相同的内容来规避这个问题
docker run -ti tag:latest /bin/sh
这不是很整洁,有没有办法解决这个问题,要么执行以下操作之一
任何不完整回答类似问题的建议也表示赞赏,如果可能的话,我们也可以以不同的方式安装它,而不需要 apt
我想将数据帧列中的所有字符串转换为单个空字符串,然后将其转换为单词列表:
import pandas as pd
df = pd.DataFrame({'read': ["Red", "is", "my", "favorite", "color"]})
print(df)
read
0 Red
1 is
2 my
3 favorite
4 color
Run Code Online (Sandbox Code Playgroud)
我试图加入字符串,但我不知道如何添加空格.
string = ""
for i,j in df.iterrows():
string += j["read"]
Run Code Online (Sandbox Code Playgroud) 我定义:
A = [[1, 2], [3, 4], [5, 6]]
Run Code Online (Sandbox Code Playgroud)
生产线是什么?
B = [['hello', [1, 2]], ['hello', [3, 4]], ['hello', [5, 6]]]
Run Code Online (Sandbox Code Playgroud) 我有以下代码 c++ 代码
#include <vector>
#include <iostream>
using namespace std;
#define for_loop(upper_bound) for (int i=0;i<upper_bound; ++i)
// #define SHOW_VECTOR(vec_in) for(int j=0;j<vec_in.size();j++){ cout << vec_in[j] << " " << endl;};
int main(){
int dim_1=10;
int dim_2=3;
int outer_i;
// vector variable declared here to have 10 values
vector<vector<int>>vec_var(dim_1);
for_loop(dim_1){
outer_i = i;
for_loop(dim_2){
cout << outer_i << " " << i << endl;
vec_var[outer_i][i]=103;
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我尝试运行它时,出现以下错误:
分段错误(核心转储)