https://weactstudio.aliexpress.com/ で買った
- type-cなRP2040
- epaper module
https://github.com/WeActStudio/WeActStudio.EpaperModule/tree/master/Example でESP32のサンプルはあるけどRP2040はない
// 既定値を上書きするには、このファイル内にキー バインドを挿入しますauto[] | |
[ | |
{ | |
"key": "ctrl+x g", | |
"command": "magit.status" | |
}, | |
{ | |
"key": "ctrl+x 0", | |
"command": "workbench.action.closeGroup", | |
"when": "editorFocus" |
{ | |
// See https://go.microsoft.com/fwlink/?LinkId=733558 | |
// for the documentation about the tasks.json format | |
"version": "2.0.0", | |
"tasks": [ | |
{ | |
"label": "git grep", | |
"type": "shell", | |
"command": "git --no-pager grep ${input:gitGrepExpr}", | |
"presentation": { |
https://weactstudio.aliexpress.com/ で買った
https://github.com/WeActStudio/WeActStudio.EpaperModule/tree/master/Example でESP32のサンプルはあるけどRP2040はない
import torch | |
from torchvision.models.detection import maskrcnn_resnet50_fpn, MaskRCNN_ResNet50_FPN_Weights | |
weights = MaskRCNN_ResNet50_FPN_Weights.DEFAULT | |
transforms = weights.transforms() | |
model = maskrcnn_resnet50_fpn(weights=weights, progress=False) | |
# model = model.eval() | |
model = model.train() |
import torch | |
import torch.onnx.symbolic_helper as sym_hel | |
from typing import Any | |
def _maybe_get_scalar(value: torch._C.Value) -> Any: | |
value_t = _maybe_get_const(value, "t") | |
if isinstance(value_t, torch.Tensor) and value_t.shape == (): | |
return value_t | |
node_v = sym_hel._node_get(value, "value") |
modified onnx/checker.cc | |
@@ -795,13 +795,14 @@ void check_model(const ModelProto& model, CheckerContext& ctx) { | |
} | |
void check_model(const std::string& model_path) { | |
- ModelProto model; | |
+ google::protobuf::Arena arena; | |
+ ModelProto* model = google::protobuf::Arena::CreateMessage<ModelProto>(&arena); | |
std::fstream model_stream(model_path, std::ios::in | std::ios::binary); | |
if (!model_stream.good()) { |
name: Update book list | |
on: | |
push: | |
branches: [ master ] | |
schedule: | |
- cron: "0 * * * *" | |
jobs: | |
build: |
document.querySelectorAll('.icon-download').forEach((v, idx) => { | |
setTimeout(() => { | |
let e = document.createElement('a'); | |
e.href = v.parentNode.href; | |
e.target = '_blank'; | |
document.body.appendChild(e); | |
e.click(); | |
}, (Math.random() * 1000 + 500) * idx); | |
}); |
document.querySelectorAll('#contents_list a').forEach((v) => { | |
fetch(v). | |
then((response) => response.text()). | |
then((txt) => { | |
const parser = new DOMParser(); | |
const src = parser.parseFromString(txt, 'text/html'); | |
const mp4_url = src.querySelector('video source').src; | |
const elem = document.createElement('a'); | |
elem.download = ''; | |
elem.href = mp4_url; |
// ==UserScript== | |
// @name Booth Total | |
// @namespace https://take-cheeze.dev/ | |
// @version 0.1 | |
// @description try to take over the world! | |
// @author @take-cheeze | |
// @match https://booth.pm/* | |
// @grant none | |
// ==/UserScript== |