我是tensorflow.js和tensorflow的新手
上下文:我们已经使用自定义视觉训练了一个模型,以便从图像中识别头发的长度:短,中,长。该模型已导出,我们希望将其与tensorflow js一起在本地使用。从自定义视觉导出的文件是* .pb文件和labels.txt文件。
我使用了tensorflowjs_converter python脚本,这是我用来在json模型中转换冻结模型* .pb的命令:
tensorflowjs_converter --input_format=tf_frozen_model --output_node_names='model_outputs' --output_json OUTPUT_JSON C:\python\tf_models\hairlength\model.pb C:\python\tf_models\exports\
Run Code Online (Sandbox Code Playgroud)
然后,将这个model.json和碎片粘贴到我的有角客户端的资产文件夹中。然后,我尝试加载模型,并给他一张图像以进行预测,但我所得到的只是索引值超出范围,因为我只需要0:长,1:中,2:短发即可。这是控制台的截图

这是我在客户端(打字稿)中用于预测的类:
import * as tf from '@tensorflow/tfjs';
// import {HAIRLENGTH_LABELS} from './hairlength';
import { FrozenModel } from '@tensorflow/tfjs';
const MODEL = 'assets/models/hairlength/model.json';
const INPUT_NODE_NAME = 'model_outputs';
const OUTPUT_NODE_NAME = 'model_outputs';
const PREPROCESS_DIVISOR = tf.scalar(255 / 2);
export class MobileNetHairLength {
private model: FrozenModel;
private labels = ['long', 'mid', 'short'];
constructor() {}
async load(){
this.model = await tf.loadGraphModel(MODEL);
}
dispose() {
if (this.model) {
this.model.dispose();
} …Run Code Online (Sandbox Code Playgroud) tensorflow angular tensorflow.js tensorflowjs-converter microsoft-custom-vision
你好呀,
我会尝试更具体地回答我的问题,我正在使用 Angular 9 和最新的 Electron 版本 8.1.1。
我的目标是读取大型媒体文件,例如视频(>4go)、歌曲(flac)或位于我的文件系统上的其他大型文件,但在主进程中使用nodeJS中的流api并将结果(块,缓冲区)发送到渲染器进程。
我如何处理渲染器进程中的流缓冲区,我想使用html5中已经内置的视频和音频api,因此在主进程和渲染器进程之间使用ipc,我将发送块并希望能够显示,播放,使用 html5 api 读取这些块(例如,使用视频标签和属性 src 或音频标签和属性 src)我应该为这些元素提供什么作为 src,以便它像带有 url 的基本 Web 流一样工作?
这是我的主要流程代码(其中我将 fs 与 nodejs 一起使用):
ipcMain.on('getFileStream', (event, arg) => {
try {
if(fs.existsSync(arg.path) && fs.lstatSync(arg.path).isFile()) {
const s = fs.createReadStream(arg.path)
s.on('data', (chunk: Buffer) => {
console.log(chunk)
event.sender.send('getFileStreamResponse', chunk)
}).on('end', () => {
console.log("end stream")
event.sender.send('getFileStreamResponse', false)
s.close()
});
}
} catch(e) {
console.log('getFileStream', e)
}
})
Run Code Online (Sandbox Code Playgroud)
我不想等待所有块开始播放媒体,我希望能够在加载足够的数据时播放媒体。我读过有关 html5 中的 Mediasources 的内容,但想知道这是否是正确的方法,或者您是否知道读取大文件并在渲染器进程中重建块的更好方法?
非常感谢您抽出时间
我和我的朋友在使用API和angular客户端时遇到了CORS问题。我们正在尝试建立链接,我们正在使用signalR并且客户端(Angular 7)进行了注册,以接收来自服务器(ASP .NET core 2.2)的消息。
在浏览器控制台中,我收到此消息:
已从CORS策略阻止从原点' http:// localhost:4200 ' 在' https:// ourEndpoint / CoordinatorHub / negotiate ' 访问XMLHttpRequest :对预检请求的响应未通过访问控制检查:'当请求的凭据模式为“ include”时,响应中的“ Access-Control-Allow-Origin”标头不得为通配符“ *”。XMLHttpRequest发起的请求的凭据模式由withCredentials属性控制。
public void ConfigureServices(IServiceCollection services)
{
services.AddCors();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddDbContext<OneRoomContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("OneRoomContext")));
services.AddSignalR();
// Register the Swagger services
services.AddSwaggerDocument();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseDeveloperExceptionPage();
app.UseCors(builder =>
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
//if (env.IsDevelopment())
//{
// app.UseDeveloperExceptionPage(); …Run Code Online (Sandbox Code Playgroud) angular ×2
asp.net-core ×1
cors ×1
electron ×1
html5-audio ×1
html5-video ×1
javascript ×1
node.js ×1
signalr ×1
tensorflow ×1